jingo811
2008-Mar-13 00:11 UTC
[Wine] How should I educate myself in order to code for WineHQ?
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
2008-Mar-13 00:21 UTC
[Wine] How should I educate myself in order to code for WineHQ?
On Wed, Mar 12, 2008 at 5:11 PM, jingo811 <wineforum-user at winehq.org> 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
jingo811
2008-Mar-13 09:02 UTC
[Wine] Re: How should I educate myself in order to code for WineHQ?
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. > - DanStep 2.)> ???Step 3.)> ???
vitamin
2008-Mar-13 14:00 UTC
[Wine] Re: How should I educate myself in order to code for WineHQ?
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 (http://winehq.org/site/docs/winedev-guide/index) And start hacking already.
jingo811
2008-Mar-13 14:18 UTC
[Wine] Re: How should I educate myself in order to code for WineHQ?
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.
Jim
2008-Mar-13 18:07 UTC
[Wine] Re: How should I educate myself in order to code for WineHQ?
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.
jingo811
2008-Mar-13 23:23 UTC
[Wine] Re: How should I educate myself in order to code for WineHQ?
Roger Wilco! K&R it is then. http://www.amazon.co.uk/C-Programming-Language-2nd/dp/customer-reviews/0131103628/ref=dp_top_cm_cr_acr_txt?ie=UTF8&showViewpoints=1&customer-reviews.start=1&qid=1205449841&sr=8-1#customerReviews 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.
Alan McKinnon
2008-Mar-14 07:01 UTC
[Wine] How should I educate myself in order to code for WineHQ?
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
jingo811
2008-Mar-14 13:51 UTC
[Wine] Re: How should I educate myself in order to code for WineHQ?
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!
jingo811
2008-Mar-15 16:38 UTC
[Wine] Re: How should I educate myself in order to code for WineHQ?
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 HawkinsBecause 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_Toyota_Production_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.
vitamin
2008-Mar-15 18:56 UTC
[Wine] Re: How should I educate myself in order to code for WineHQ?
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.
vitamin
2008-Mar-24 23:43 UTC
[Wine] Re: How should I educate myself in order to code for WineHQ?
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 (http://msdn.microsoft.com) 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 <wine-patches at winehq.org> >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.
jingo811
2008-Mar-29 17:06 UTC
[Wine] Re: How should I educate myself in order to code for WineHQ?
mmm perhaps. Can you recommend me some smaller scale open-source project where one can practice their C and maybe Win API skills. Something that isn't as big and complex as Wine.