How should I educate myself in order to code for WineHQ?

Open forum for end-user questions about Wine. Before asking questions, check out the Wiki as a first step.
Forum Rules
User avatar
jingo811
Level 2
Level 2
Posts: 21
Joined: Fri Feb 22, 2008 3:58 pm

How should I educate myself in order to code for WineHQ?

Post by jingo811 »

I consider myself not having any real programming experience.
I've went through 5 weeks long basic courses for each of these scripting languages. So no real programming experience to fall back on and I basically can't do anything useful with any of these languages anyways.

Matlab
PHP+MySQL
bash

But I want to learn just enough to be useful for the Wine project. And thus enable me to see how things are run behind the scenes. Working as a Code Monkey under a Code Manager who can tell me what to focus on and what I can ignore for now. Since I'm a slow learner it would take me 30 years to go through every one of these links, organize the info and understand how to use them correctly
http://www.winehq.org/site/resources

So I was wondering can you give me an ordered to-do-list in becoming a Code Monkey for WineHQ?
  • Like do I have to know both C and C++ to code for Wine.
  • What books with easy exercises is best for total newbies learning to programming in the WineHQ language?
  • Do I have to go through every resource link to be able to code for Wine?
  • What sort of stuff in C or C++ should I play with in order to learn the relevant stuff for Wine coding at the basic programmer level?
  • Is there any HowTo books in Coding for Wine, that would sort of help?
Give me a list of that nature so I can focus on learning the relevant stuff just for some easy Monkey Coding. Then I can see how you guys work from a more practical viewpoint.
Dan Kegel

How should I educate myself in order to code for WineHQ?

Post by Dan Kegel »

On Wed, Mar 12, 2008 at 5:11 PM, jingo811 <[email protected]> wrote:
So I was wondering can you give me an ordered to-do-list in becoming a Code Monkey for WineHQ?

Like do I have to know both C and C++ to code for Wine.
Nope, just C. Go through "The C Programming Language" by
Kernighan and Ritchie, and do all the exercizes.
- Dan
User avatar
jingo811
Level 2
Level 2
Posts: 21
Joined: Fri Feb 22, 2008 3:58 pm

Post by jingo811 »

OK if this is the first step towards becoming a WineHQ code monkey what's the next step/milestone in this education ladder? It would be nice knowing before hand where one is aiming and not just read a bunch of text and not know for what specific sub-purpose?
Just like driving a car you want to set your eyes 50 meters ahead and not focus only 5 meters in front of the hood. Then you will hit and crash in traffic, maybe even kill ppl if you're unlucky.

Step 1.)
Nope, just C. Go through "The C Programming Language" by
Kernighan and Ritchie, and do all the exercizes.
- Dan
Step 2.)
???

Step 3.)
???
Alexander Nicolaysen S...

How should I educate myself in order to code for WineHQ?

Post by Alexander Nicolaysen S... »

On Wed, Mar 12, 2008 at 5:11 PM, jingo811 <[email protected]> wrote:
So I was wondering can you give me an ordered to-do-list in becoming a
Code Monkey for WineHQ?

Like do I have to know both C and C++ to code for Wine.
Nope, just C. Go through "The C Programming Language" by
Kernighan and Ritchie, and do all the exercizes.
- Dan
Personally I found the 'Introductory C Programming Class Notes (standalone)'
as a very useful beginner's guide. Maybe we should add a 'begginer's
section' to WineHQ?

http://www.eskimo.com/~scs/cclass/cclass.html



Alexander N. Sørnes
vitamin
Moderator
Moderator
Posts: 6605
Joined: Sat Feb 23, 2008 2:29 pm

Re: How should I educate myself in order to code for WineHQ?

Post by vitamin »

jingo811 wrote: Like do I have to know both C and C++ to code for Wine.
C
jingo811 wrote: What books with easy exercises is best for total newbies learning to programming in the WineHQ language?
See above. KnR is probably the best choice since it's classic and not much really changed since then.
jingo811 wrote:Do I have to go through every resource link to be able to code for Wine?
No. That's the reference. You'll need one or the other when you start hacking Wine. However you need to know win32api if you want to get anywhere..
jingo811 wrote:What sort of stuff in C or C++ should I play with in order to learn the relevant stuff for Wine coding at the basic programmer level?
Read wine-patches and the git history - to see what patches are being committed and which are not. Read wine-devel too see why.
jingo811 wrote:Is there any HowTo books in Coding for Wine, that would sort of help?
Wine Developer's Guide

And start hacking already.
User avatar
jingo811
Level 2
Level 2
Posts: 21
Joined: Fri Feb 22, 2008 3:58 pm

Post by jingo811 »

Can you recommend a good C programming video CD/DVD? Learning by watching goes a little faster than reading for me personally. Books are good for referencing but not good for getting into the game.
Dan Kegel

How should I educate myself in order to code for WineHQ?

Post by Dan Kegel »

On Thu, Mar 13, 2008 at 7:18 AM, jingo811 <[email protected]> wrote:
Can you recommend a good C programming video CD/DVD?
No.
Learning by watching goes a little faster than reading for me personally.
Books are good for referencing but not good for getting into the game.
K&R is different. Read it and do the examples. You'll see.
- Dan
Mark Knecht

How should I educate myself in order to code for WineHQ?

Post by Mark Knecht »

On Thu, Mar 13, 2008 at 2:02 AM, jingo811 <[email protected]> wrote:
OK if this is the first step towards becoming a WineHQ code monkey what's the next step/milestone in this education ladder? It would be nice knowing before hand where one is aiming and not just read a bunch of text and not know for what specific sub-purpose?

Step 1.)

Nope, just C. Go through "The C Programming Language" by
Kernighan and Ritchie, and do all the exercizes.
- Dan
Step 2.)
???
I am not a coder but I think the more or less consistent response to
step two is look at the list of bugs or uncoded parts of Windows
compatibility, pick one that you have an interest in, and then see if
you can figure out what's up.

The ToDo list is here:

http://wiki.winehq.org/TodoList

hope this helps,
Mark
Jim
Level 2
Level 2
Posts: 48
Joined: Mon Feb 25, 2008 6:09 pm

Post by Jim »

jingo811 wrote:Can you recommend a good C programming video CD/DVD? Learning by watching goes a little faster than reading for me personally. Books are good for referencing but not good for getting into the game.
Get used to reading, IMHO.
Edward Savage

How should I educate myself in order to code for WineHQ?

Post by Edward Savage »

Thanks Dan for expanding K and Rs full names! I now know which book to
look for.

Jeffz linked me to a very handy beginners windows programming site the
other day http://winprog.org/tutorial/start.html which I would suggest
would be your first step once you know how to write basic c
applications. I've found it extremely helpful. After that it is
simply a case of going to the bug list and finding nice little simple
issues and spending time working out what is going wrong, how changing
things effects the result, seeing if you can come up with work a
rounds for the issue...And then using your built up knowledge
attempting to fix the bug. I'm some where towards the end of that
chain of steps so hopefully I'll be able to make meaningful
contributions soon.

Just remember that while on the out side the wine develops seem harsh
and uninterested in helping (I remember that being my thoughts when I
first started looking at helping wine) if you are making a genuine
effort I've found answers to questions to be easily at hand and every
one to be very helpful.

Just have a go.

On Fri, Mar 14, 2008 at 2:50 AM, Mark Knecht <[email protected]> wrote:
On Thu, Mar 13, 2008 at 2:02 AM, jingo811 <[email protected]> wrote:
OK if this is the first step towards becoming a WineHQ code monkey what's the next step/milestone in this education ladder? It would be nice knowing before hand where one is aiming and not just read a bunch of text and not know for what specific sub-purpose?

Step 1.)

Nope, just C. Go through "The C Programming Language" by
Kernighan and Ritchie, and do all the exercizes.
- Dan
Step 2.)
???
I am not a coder but I think the more or less consistent response to
step two is look at the list of bugs or uncoded parts of Windows
compatibility, pick one that you have an interest in, and then see if
you can figure out what's up.

The ToDo list is here:

http://wiki.winehq.org/TodoList

hope this helps,
Mark
Alan McKinnon

How should I educate myself in order to code for WineHQ?

Post by Alan McKinnon »

On Thursday 13 March 2008, Edward Savage wrote:
Thanks Dan for expanding K and Rs full names! I now know which book
to look for.
I shall now confuse you a little further. When you have finished with
the basics of K & R, you need to read the works of T.

:-)

--
Alan McKinnon
alan dot mckinnon at gmail dot com
User avatar
jingo811
Level 2
Level 2
Posts: 21
Joined: Fri Feb 22, 2008 3:58 pm

Post by jingo811 »

Roger Wilco! K&R it is then.
http://www.amazon.co.uk/C-Programming-L ... merReviews

Can you also recommend some good C programming forums where you can hang out with ppl in the same situation as me? Learning together with newbies is usually easier than hanging with some elite C programmers at least at the very beginning.
Dan Kegel

How should I educate myself in order to code for WineHQ?

Post by Dan Kegel »

On Thu, Mar 13, 2008 at 4:23 PM, jingo811 <[email protected]> wrote:
Roger Wilco! K&R it is then.
Oh, I should also have pointed you to my list of resources:
http://kegel.com/academy/tutorials.html
Can you also recommend some good C programming forums
where you can hang out with ppl in the same situation as me?
Sorry, I don't know of any offhand.
- Dan
Marcel W. Wysocki

How should I educate myself in order to code for WineHQ?

Post by Marcel W. Wysocki »

On Thu, 13 Mar 2008 18:23:40 -0500
"jingo811" <[email protected]> wrote:
Can you also recommend some good C programming forums where you can hang out with ppl in the same situation as me? Learning together with newbies is usually easier than hanging with some elite C programmers at least at the very beginning.
I did read K&R a few month ago, usually you don't need a lot of help, the book is really well written and everyone with a sane mind should be able to get into it quite fast. (even my girlfriend was able to)
the only thing i did not like about the book were the excercises, i made the excercises in chapter one, but i just skipped the other and made up my own.
but if you really need help you could always check ##c on irc.freenode.net, or just write me an email (or contact me on freenode, nick: maci), i'm not some kind of elite coder but i think i will be pretty well be able to answer your questions.



--
Marcel W. Wysocki <[email protected]>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-us ... chment.pgp
Alan McKinnon

How should I educate myself in order to code for WineHQ?

Post by Alan McKinnon »

On Friday 14 March 2008, James McKenzie wrote:
Alan McKinnon wrote:
On Thursday 13 March 2008, Edward Savage wrote:
Thanks Dan for expanding K and Rs full names! I now know which
book to look for.
I shall now confuse you a little further. When you have finished
with the basics of K & R, you need to read the works of T.

:-)
Alan:

Not fair!

And there are FIVE books that T wrote, if it is the T I'm thinking
about.
Ken T?


--
Alan McKinnon
alan dot mckinnon at gmail dot com
Edward Savage

How should I educate myself in order to code for WineHQ?

Post by Edward Savage »

I'm pretty competent at basic c - at least my uni record shows good
marks. The biggest issues I've found is that coding in the real world
is different to my text books and assignments I had to do in content
and the windows layer on top of everything wine does. For fixes I've
done on other applications it seemed very straight forward to me
though with wine you have to make sure your changes match the inputs
and outputs expected by a list in msdn - it is more like filling in
the blanks with a blind fold on (for a new coder) than another project
where you just change any of the code you want to fix the issue.

Jingo I'd say you really don't want to get much help with all of this.
There is a very easy trap you can fall in to when learning c/cpp in
that the simple tasks you are doing are easier for others to fix than
for them to teach you why it is broken. This leads to you not really
learning what is wrong or how to fix it. Believe it or not the five
hours that you sit looking at some stupid simple issue will teach you
more than the same amount of reading some book while you try and work
through to find the solution.

James what country are you in, I might be up for grabbing your copy of
k & r, if you are close to australia email me with how much you want.

Edward

On Fri, Mar 14, 2008 at 6:01 PM, Alan McKinnon <[email protected]> wrote:
On Friday 14 March 2008, James McKenzie wrote:
Alan McKinnon wrote:
On Thursday 13 March 2008, Edward Savage wrote: I shall now confuse you a little further. When you have finished
with the basics of K & R, you need to read the works of T.

:-)
Alan:

Not fair!

And there are FIVE books that T wrote, if it is the T I'm thinking
about.
Ken T?




--
Alan McKinnon
alan dot mckinnon at gmail dot com

User avatar
jingo811
Level 2
Level 2
Posts: 21
Joined: Fri Feb 22, 2008 3:58 pm

Re: How should I educate myself in order to code for WineHQ?

Post by jingo811 »

Marcel W. Wysocki wrote: ....
....
but if you really need help you could always check ##c on irc.freenode.net, or just write me an email (or contact me on freenode, nick: maci), i'm not some kind of elite coder but i think i will be pretty well be able to answer your questions.
Great I'll do that in the future.

Edward Savage wrote: ...
...
Jingo I'd say you really don't want to get much help with all of this.
There is a very easy trap you can fall in to when learning c/cpp in
that the simple tasks you are doing are easier for others to fix than
for them to teach you why it is broken. This leads to you not really
learning what is wrong or how to fix it. Believe it or not the five
hours that you sit looking at some stupid simple issue will teach you
more than the same amount of reading some book while you try and work
through to find the solution.
I'll try and keep those words in mind when I get going. Don't know if I understood what you wrote correctly though I'm getting mixed messages when reading your post, maybe it's just my bad english.



However my main objective isn't to understand how to solve things in Wine project or some major C dilemma. I just want to know enough to be able to do some shallow diving as a Code Monkey without all that "abstract design" knowledge and responsibilities. Be able to do what I'm ordered to do by a Code Manager.

To learn the ropes how things go about when an outsider contributes codes and WineHQ reviews the codes and then gives their thumbs up/down.
http://www.phrases.org.uk/meanings/225200.html
Just knowing everything that happens in between this process is my objective.
You see I have sort of a disagreement with WineHQ regarding how things are run, but I can't really verbalize the issue good enough without getting my hands dirty. That's why I want to learn C and only just enough to get my hands dirty and into the trial process correctly.

The second objective if I manage to overcome the first objective, is to map the process in "my way" and then try to attract the real coding wizards on the Internet to participate on the Wine project journey. By my estimation this will probably take me 30 years to accomplish :( too slow in other words to prove my point in the WineHQ disagreement I had some weeks ago. But I'm dead set on proving WineHQ's current methods wrong and then maybe shift the winds of power away from Microsoft.
Like I said there's so much info so much going on at the same time on WineHQ I can't really point my finger at the wrongs and verbalize it with correct wordings. :? I just have a gut feeling that something isn't quite right regarding the Wine project. Not on the coding layer but on the project management layer!
James Hawkins

How should I educate myself in order to code for WineHQ?

Post by James Hawkins »

On Fri, Mar 14, 2008 at 8:51 AM, jingo811 <[email protected]> wrote:
Marcel W. Wysocki wrote:
....
....
but if you really need help you could always check ##c on irc.freenode.net, or just write me an email (or contact me on freenode, nick: maci), i'm not some kind of elite coder but i think i will be pretty well be able to answer your questions.
Great I'll do that in the future.



Edward Savage wrote:
...
...
Jingo I'd say you really don't want to get much help with all of this.
There is a very easy trap you can fall in to when learning c/cpp in
that the simple tasks you are doing are easier for others to fix than
for them to teach you why it is broken. This leads to you not really
learning what is wrong or how to fix it. Believe it or not the five
hours that you sit looking at some stupid simple issue will teach you
more than the same amount of reading some book while you try and work
through to find the solution.
I'll try and keep those words in mind when I get going. Don't know if I understood what you wrote correctly though I'm getting mixed messages when reading your post, maybe it's just my bad english.



However my main objective isn't to understand how to solve things in Wine project or some major C dilemma. I just want to know enough to be able to do some shallow diving as a Code Monkey without all that "abstract design" knowledge and responsibilities. Be able to do what I'm ordered to do by a Code Manager.
If you're expecting someone to hold your hand and tell you exactly
what to code in this project, you're going to be very disappointed.
Working on Wine is different than working on most other projects.
There is a design plan, but we have no access to it. We're blind men
feeling our way through a maze with our hands (the test suite). Even
if a developer knew the solution to the problem, it would take much
longer for him to guide you through implementing that solution than
for him to just implement it himself. If you really want to work on
this project, just start somewhere...do something. No one will tell
you what to do, and reading books only goes so far.
To learn the ropes how things go about when an outsider contributes codes and WineHQ reviews the codes and then gives their thumbs up/down.
http://www.phrases.org.uk/meanings/225200.html
Just knowing everything that happens in between this process is my objective.
You see I have sort of a disagreement with WineHQ regarding how things are run, but I can't really verbalize the issue good enough without getting my hands dirty. That's why I want to learn C and only just enough to get my hands dirty and into the trial process correctly.

The second objective if I manage to overcome the first objective, is to map the process in "my way" and then try to attract the real coding wizards on the Internet to participate on the Wine project journey. By my estimation this will probably take me 30 years to accomplish :( too slow in other words to prove my point in the WineHQ disagreement I had some weeks ago. But I'm dead set on proving WineHQ's current methods wrong and then maybe shift the winds of power away from Microsoft.
Like I said there's so much info so much going on at the same time on WineHQ I can't really point my finger at the wrongs and verbalize it with correct wordings. :? I just have a gut feeling that something isn't quite right regarding the Wine project. Not on the coding layer but on the project management layer!
How can you judge anything about the Wine project, including project
management, if you are not a part of the process yourself? Don't take
offense, but your views, by definition, are ignorant.

--
James Hawkins
User avatar
jingo811
Level 2
Level 2
Posts: 21
Joined: Fri Feb 22, 2008 3:58 pm

Post by jingo811 »

James Hawkins wrote: How can you judge anything about the Wine project, including project management, if you are not a part of the process yourself?
Don't take offense, but your views, by definition, are ignorant.

--
James Hawkins
Because I'm a non-ignorant-judger :D
No offense taken and it's not my intention to accuse those who have worked on Wine since it's beginning.
My biggest wish is to see Wine project become the number 1 open source project in the entire world. If you do it without my help even better. But I sense a disturbance with this project and want to improve it by finding out where the problem lies.
That's why I'm so eager to learn C quick-like-grease-lightning and get into the process myself doing some simple bug tracing. Once I manage to get this far pointing out problems in a constructive manner will be easier for me, as of now I have no constructive way to express myself. :(

There might be a quicker way to reach that constructive level without me having to learn C and WinAPI if I could only watch in real life how the elite coders and the contributors interact with each other and how the management interact with the community. Reading the mailing lists doesn't really reveal the subtle info I'm searching for.


..................................................................................................................................................................................................................

James Hawkins wrote:If you're expecting someone to hold your hand and tell you exactly what to code in this project, you're going to be very disappointed.
My previous posts might seem like I want WineHQ to hold my hand the entire journey like you have described it. Which would be a destructive habit for future Wine coders. But the idea I want to test does indeed sound like what you've described but there's a twist to the idea I want to test.

Correct me if I'm wrong but haven't WineHQ had problems in the past keeping coders on the project because they lost motivation originating from lack of patience and experience?
If future generations of Wine coders drop like flies because the bar was set too high wouldn't that mean that something isn't done right? Which means there's an opportunity to improve things for the better.
  • What I wish WineHQ should do more of is point 14 from Toyota's production system.
    http://en.wikipedia.org/wiki/Toyota#The ... ion_System
  • Me myself have to improve on point 12 (genchi genbutsu) in order to express myself with a more accurate and constructive language.
  • Also I think you are overloading the experienced Wine coders point 4 (Heijunka) that's why you need to setup a "smart and unconventional" teaching environment where inexperienced C coders and total newbies can grow and learn my osmosis the reward will be more constant if this can be done more smoother.
    My definition of learning by osmosis, the implementation on WineHQ will naturally be done differently:
    When we first learn how to speak, we learn from being around other people and simply picking it up by repetition--by osmosis--from people who already know how to speak. Most of us do not have to go to school to learn our native language. We simply pick it up because it is all around us. It doesn't matter what the language is: English, French, Chinese...if it is what everyone else is speaking, we automatically pick up the basics when we are children.
I wish for WineHQ to see these issues by themselves and deal with them more actively and quickly. So I don't have to spam you guys with my endless ranting :wink:


..................................................................................................................................................................................................................

James Hawkins wrote: Working on Wine is different than working on most other projects.
There is a design plan, but we have no access to it. We're blind men feeling our way through a maze with our hands (the test suite). Even if a developer knew the solution to the problem, it would take much longer for him to guide you through implementing that solution than for him to just implement it himself.
You guys should make a "Wanna be a Wine coder" link at the very top of the WineHQ website. Then as Step 1 or Chapter 1 you should explain what you just described to future Winde coders more detailed.

And you guys who already understand this difference compared to most other projects should try and point 14 from Toyota's production system.
Searching for methods to do this smarter I'm sure there's more answers to this equation if you found a different and fresh formula to work with.

Sadly I can't help you much with this department as it requires Code Manager status to see this kind of complexities. But I'm hoping you guys could brain storm on it and improve it for future generations. Me just a simple non-ignorant-judger.
James Hawkins wrote: If you really want to work on this project, just start somewhere...do something. No one will tell you what to do, and reading books only goes so far.
Shouldn't you guys centralize all the sub-projects instead of spreading your Wine coders and contributors like shot gun fire by decentralizing the workforce. Laser focus makes outsiders see results much quicker. If people don't see the effects of their work more quickly then they are going to loose interest and let the fire within themselves die out. WineHQ needs to help newcomers fuel the fire within themselves more actively in order to maintain constant speed on this ship.
James Hawkins

How should I educate myself in order to code for WineHQ?

Post by James Hawkins »

On Sat, Mar 15, 2008 at 11:38 AM, jingo811 <[email protected]> wrote:
James Hawkins wrote:
How can you judge anything about the Wine project, including project management, if you are not a part of the process yourself?
Don't take offense, but your views, by definition, are ignorant.

--
James Hawkins
Because I'm a non-ignorant-judger :D
No offense taken and it's not my intention to accuse those who have worked on Wine since it's beginning.
My biggest wish is to see Wine project become the number 1 open source project in the entire world. If you do it without my help even better. But I sense a disturbance with this project and want to improve it by finding out where the problem lies.
That's why I'm so eager to learn C quick-like-grease-lightning and get into the process myself doing some simple bug tracing. Once I manage to get this far pointing out problems in a constructive manner will be easier for me, as of now I have no constructive way to express myself. :(

There might be a quicker way to reach that constructive level without me having to learn C and WinAPI if I could only watch in real life how the elite coders and the contributors interact with each other and how the management interact with the community. Reading the mailing lists doesn't really reveal the subtle info I'm searching for.


..................................................................................................................................................................................................................




James Hawkins wrote:
If you're expecting someone to hold your hand and tell you exactly what to code in this project, you're going to be very disappointed.
My previous posts might seem like I want WineHQ to hold my hand the entire journey like you have described it. Which would be a destructive habit for future Wine coders. But the idea I want to test does indeed sound like what you've described but there's a twist to the idea I want to test.

Correct me if I'm wrong but haven't WineHQ had problems in the past keeping coders on the project because they lost motivation originating from lack of patience and experience?
If future generations of Wine coders drop like flies because the bar was set too high wouldn't that mean that something isn't done right? Which means there's an opportunity to improve things for the better.
The developers don't set the bar high; the project itself demands it.
The learning curve is steep, and hacking on Wine requires a lot of
patience and diligence. Trust me, we constantly are bringing new
people into the project and trying to push them up the curve, and
while we've gotten a few up the hill quickly, most aren't cut out for
this level of work.
What I wish WineHQ should do more of is
point 14 from Toyota's production system.
http://en.wikipedia.org/wiki/Toyota#The ... ion_System

Me myself have to improve on
point 12 (genchi genbutsu) in order to express myself with a more accurate and constructive language.

Also I think you are overloading the experienced Wine coders
point 4 (Heijunka) that's why you need to setup a "smart and unconventional" teaching environment where inexperienced C coders and total newbies can grow and learn my osmosis the reward will be more constant if this can be done more smoother.
My definition of learning by osmosis, the implementation on WineHQ will naturally be done differently:
When we first learn how to speak, we learn from being around other people and simply picking it up by repetition--by osmosis--from people who already know how to speak. Most of us do not have to go to school to learn our native language. We simply pick it up because it is all around us. It doesn't matter what the language is: English, French, Chinese...if it is what everyone else is speaking, we automatically pick up the basics when we are children.
I understand what you're getting at, but the responsibility lies in
the hands of the 'newbies'. Very rarely do we get a new developer
that jumps into the project and works there way up the learning curve,
with or without asking for help.
I wish for WineHQ to see these issues by themselves and deal with them more actively and quickly. So I don't have to spam you guys with my endless ranting [Wink]


..................................................................................................................................................................................................................




James Hawkins wrote:
Working on Wine is different than working on most other projects.
There is a design plan, but we have no access to it. We're blind men feeling our way through a maze with our hands (the test suite). Even if a developer knew the solution to the problem, it would take much longer for him to guide you through implementing that solution than for him to just implement it himself.
You guys should make a "Wanna be a Wine coder" link at the very top of the WineHQ website. Then as Step 1 or Chapter 1 you should explain what you just described to future Winde coders more detailed.

And you guys who already understand this difference compared to most other projects should try and point 14 from Toyota's production system.
Searching for methods to do this smarter I'm sure there's more answers to this equation if you found a different and fresh formula to work with.

Sadly I can't help you much with this department as it requires Code Manager status to see this kind of complexities. But I'm hoping you guys could brain storm on it and improve it for future generations. Me just a simple non-ignorant-judger.
No it doesn't. Our development process is completely transparent.
Discussions occur on wine-devel, patches are sent to wine-patches, and
the committed patches show up in wine-cvs. Users are helped in
wine-users. What are you thinking is going on behind 'closed
curtains'?
James Hawkins wrote:
If you really want to work on this project, just start somewhere...do something. No one will tell you what to do, and reading books only goes so far.
Shouldn't you guys centralize all the sub-projects instead of spreading your Wine coders and contributors like shot gun fire by decentralizing the workforce. Laser focus makes outsiders see results much quicker. If people don't see the effects of their work more quickly then they are going to loose interest and let the fire within themselves die out. WineHQ needs to help newcomers fuel the fire within themselves more actively in order to maintain constant speed on this ship.
No, if everyone worked on the same sub-project, no one would be able
to get anything done. The way we work now, we sort of have unofficial
maintainers of sub-projects. Each developer then becomes an expert in
his subsystem and efficiently fixes bugs in his area of expertise.
That isn't to say that we each have exactly one are of expertise.
'Outsiders' can't see the results, because they don't know what
they're looking at.

--
James Hawkins
vitamin
Moderator
Moderator
Posts: 6605
Joined: Sat Feb 23, 2008 2:29 pm

Re: How should I educate myself in order to code for WineHQ?

Post by vitamin »

Before I lock this topic I'll give you a chance to state what do you want to accoplish? If you one of those people who gets everyone worked up for no good reason - you better leave now. If you really want to start helping the project - pick something up and start working on it NOW.
User avatar
jingo811
Level 2
Level 2
Posts: 21
Joined: Fri Feb 22, 2008 3:58 pm

Post by jingo811 »

Sorry to disturb again just ignore everything I said above. New question.
I just wanna be clear on what the goals are before spending the next 10 years reading and learning C + Wine.
As a total newbie should I do things in this procedural order?

1.) K & R book.
Read "The C Programming Language" and do all the excercises.

2.) Read the Win API tutorial.
http://winprog.org/tutorial/start.html

3.) Wine Developer's Guide
Read and fully understand this 14 chapter guide before going to the next step?
http://winehq.org/site/docs/winedev-guide/index

4.) Subscribe to <[email protected]>
Subscribe to this and read it until I understand everything that has been said in there? Then I do the same with this "git history" thing and do not move on to the next step until I fully comprehend these 2 things?
Read wine-patches and the git history - to see what patches are being committed and which are not. Read wine-devel too see why. /vitamin
5.) Is it time to code now? (Janitorial)
After knowing and understanding absolutely everything or at least 60% of what's written above. Am I as a total newbie ready to code for WinHQ yet? By doing the simplest of tasks is Janitorial the simplest job around here?
http://wiki.winehq.org/JanitorialProjects



You see I'm having trouble filtering out all the unnecessary links and infos you have presented on the WineHQ website. It's like climbing a mountain blindfolded without previous training in climbing. I'm like a really young 486 computer if you don't give me clear goals then I'm just gonna waste time doing everything and never get anywhere :(
Dan Kegel

How should I educate myself in order to code for WineHQ?

Post by Dan Kegel »

On Mon, Mar 24, 2008 at 4:19 PM, jingo811 <[email protected]> wrote:
Sorry to disturb again just ignore everything I said above. New question.
I just wanna be clear on what the goals are before spending the next 10 years reading and learning C + Wine.
Feel free to get off the training track and just start fixing bugs
whenever you feel ready.

But please don't send in any patches that don't have conformance
tests, or whose conformance tests don't pass in both wine and windows.
- Dan
vitamin
Moderator
Moderator
Posts: 6605
Joined: Sat Feb 23, 2008 2:29 pm

Re: How should I educate myself in order to code for WineHQ?

Post by vitamin »

Again, what do you want to accomplish? The open source projects are not something you have to participate in to check a checkbox in your life accomplishments :-) It's something that you like doing, unless you are being paid to do something in particular.

In any event. If you want to learn programming - then you have to start form learning the programming language, regardless where you want to use it. This is what this book is really good for:
jingo811 wrote:1.) K & R book.
Read "The C Programming Language" and do all the excercises.
Of course doing "home work" from that book is all well and good, but it's more fun to actually use it for something... like Wine. For that you'll need to know the API (what functions to call at least). However, the API is not something you just read like a book. You just need to have an API reference handy.

However you will need some basic concepts of how things work. That's where this one comes in:
jingo811 wrote:2.) Read the Win API tutorial.
http://winprog.org/tutorial/start.html
When you get all excited and want to actually do something with Wine you'll need to know at least where what files are, how to compile Wine and how to debug it. You can find that info here:
jingo811 wrote: 3.) Wine Developer's Guide
Read and fully understand this 14 chapter guide before going to the next step?
http://winehq.org/site/docs/winedev-guide/index
And when you get to a point of sending patch, that's how you do it:
jingo811 wrote: 4.) Subscribe to <[email protected]>
If you need some simple projects to start with you can find one list of them here. Most don't require too much of API knowledge. Some don't even need programming experiance. Of course you do need to understand plain C.
jingo811 wrote: 5.) Is it time to code now? (Janitorial)
http://wiki.winehq.org/JanitorialProjects
You don't have to do this one after the other. Most you can do in parallel. Or even backwards if you so desire. Just please don't ask people to teach you C. That's what the step #1 is for. And most people won't tell you exactly what each function does.
User avatar
jingo811
Level 2
Level 2
Posts: 21
Joined: Fri Feb 22, 2008 3:58 pm

Re: How should I educate myself in order to code for WineHQ?

Post by jingo811 »

vitamin wrote:Again, what do you want to accomplish?
Long story short I want to be able to contribute code at the lowest possible level doing the dirty work that nobody intellectual have any interest in. The rest of my goals is complicated - the end.
vitamin wrote: You don't have to do this one after the other. Most you can do in parallel. Or even backwards if you so desire. Just please don't ask people to teach you C. That's what the step #1 is for. And most people won't tell you exactly what each function does.
My brain is like a rusty 80's computer I need procedural { $instructions = goals } in order to accomplish something relevant. Giving me a procedural strategy is very important too me so please try and be as procedural with your advices as can be. I don't mean explain to me what certain C-functions does I mean goals you set before sitting down and start reading and coding.

============================================

A Newbie's strategy plan.


1.) K & R book.
Read "The C Programming Language" and do all the excercises.

2.) Read the Win API tutorial.
http://winprog.org/tutorial/start.html

3.) start with Simple projects.
http://wiki.winehq.org/JanitorialProjects
If you need some simple projects to start with you can find one list of them here. Most don't require too much of API knowledge. Some don't even need programming experiance. Of course you do need to understand plain C.

Parallel reading
Skim through these links as often as possible preferably on a daily basis with no intention of learning at all just look for what parts can be useful to me at a certain instance.
http://msdn.microsoft.com # API reference
http://winehq.org/site/docs/winedev-guide/index

============================================



Sorry for my obvious extra questions but I'm really ultra-newbie I can't find the links that might already have answered my questions. I can't see the trees because of the forest of information and links on this website.
When I work with 3.) Simple projects do I need to prepare by subscribing to this mailing list
<[email protected]> and read the entire wine-patches history in order to start coding properly? How do I know what's already coded or not?

/Questions from a procedural-headed Newbie.
Locked