Bounty for writing programming tutorials
  • Priest of the Order of the Butterfly
    Priest of the Order of the Butterfly
    ausPPC
    Posts: 543 from 2007/8/6
    From: Pending...
    Very good to see! Still reading... Looking forward to compiling...

    1 euro per 1kB of text - that's quite a bargain for the bounty contributors. But where to from here?
    PPC assembly ain't so bad... ;)
  • »16.11.10 - 20:23
    Profile Visit Website
  • Yokemate of Keyboards
    Yokemate of Keyboards
    amigadave
    Posts: 2795 from 2006/3/21
    From: Northern Calif...
    Quote:


    Krashan wrote:
    The second goal of the bounty has been just finished. It finally consists of 5 new articles:

    Magic User Interface Programming, the main article.

    Short BOOPSI Overview

    Event Driven Programming, Notifications

    "Hello world!" in MUI

    and an additional article: Taglists

    These articles contain over 40 kB of text, 5 images and one complete source code. Comparing it to 20 kB of the previous goal I think 40 euro will be the fair amount of money for the goal 2. Feel free to post any notes or remarks to the MUI introduction tutorial.




    Great news, will download and read tonight.

    What is next?
    MorphOS - The best Next Gen Amiga choice.
  • »16.11.10 - 20:56
    Profile
  • MorphOS Developer
    Krashan
    Posts: 1107 from 2003/6/11
    From: Białystok...
    What is next?

    We should discuss it in this thread.
  • »16.11.10 - 21:30
    Profile Visit Website
  • Priest of the Order of the Butterfly
    Priest of the Order of the Butterfly
    ausPPC
    Posts: 543 from 2007/8/6
    From: Pending...
    Maybe Hello World is too simple for a discussion about debugging so could the next tutorial feature an SDL application? Then perhaps modify or extend it and add some deliberate bugs to move on to the debug topic.
    PPC assembly ain't so bad... ;)
  • »16.11.10 - 23:19
    Profile Visit Website
  • MorphOS Developer
    Krashan
    Posts: 1107 from 2003/6/11
    From: Białystok...
    Maybe Hello World is too simple for a discussion about debugging so could the next tutorial feature an SDL application?

    SDL tutorial must be written by someone else. I don't know the library at all and do not plan to learn it.
  • »17.11.10 - 05:52
    Profile Visit Website
  • Caterpillar
    Caterpillar
    spirantho
    Posts: 23 from 2003/4/25
    I think the more tutorials the better, it's a very good idea to have a bounty.

    My only concern, however, is that the focus seems to be on basic stuff, which is already covered elsewhere. For instance, "Hello World" in MUI is valuable... but has already been done many times before because it's been a standard for so many years.
    What coders like myself need are tutorials that are not covered elsewhere. I'm currently finding it much more difficult to port my driver to MorphOS because the information I need doesn't seem to be out there, viz. how to write a device handler, and how to program PCI cards. Both of these are different on MorphOS to any other OS, so documentation and tutorials are very valuable.

    I guess it depends on who you want to attract. If your target is the seasoned Amiga programmer, you need in-depth stuff specific to MOS. If you want normal people you need basic tutorials, but because this is an Amiga-like OS you can usually point them to other resources anyway.

    Just my 2c on what is a very good idea. :)
    Ian Gledhill
    ian.gledhill@btinternit.com (but it's a nEt, not a nIt)
  • »17.11.10 - 06:51
    Profile
  • Paladin of the Pegasos
    Paladin of the Pegasos
    jcmarcos
    Posts: 1178 from 2003/3/13
    From: Pinto, Madrid ...
    Quote:

    Krashan wrote:
    The second goal of the bounty has been just finished. It finally consists of 5 new articles


    Man, this is delicious!

    Quote:

    I think 40 euro will be the fair amount


    I deeply disagree: Actually, your articles are priceless. :-)
  • »17.11.10 - 07:59
    Profile
  • MorphOS Developer
    jacadcaps
    Posts: 3108 from 2003/3/5
    From: Canada
    @krashan:

    I think there are some MUI4 / subclassing topics you have yet to cover if you want to consider the MUI tutorial complete.

    Things that come to mind:

    1) object ownership / memory management, notification ownership and issues that arise when a notification tries to delete its invoking object (as in: when and how to use pushmethod even in singlethreaded apps)

    2) the purpose of and technicals of subclassing of application/group/numeric/list objects (most common cases I guess), the point of having app's functionality spread across the subclasses since I believe many people still don't grasp the idea and are trying to use hooks for notifications resulting in a very poor application code structure

    3) writing mccs

    4) building interfaces dynamically - all the Group.mui magic with object insertion/addition at runtime

    5) multithreading MUI apps (with a networking example) - all the tricks related to proper synchronization, waiting for threads to finish, messaging between threads (when can one pushmethod safely and when one should consider messages/signals instead), proper synchronization, etc
  • »17.11.10 - 08:32
    Profile Visit Website
  • MorphOS Developer
    kiero
    Posts: 129 from 2003/2/28
    as for debugging information lots of content can be found here:

    http://www.biclodon.com/documentation/morphosdebug/
  • »17.11.10 - 09:00
    Profile Visit Website
  • Cocoon
    Cocoon
    manga
    Posts: 41 from 2009/5/6
    thx Krashan 4 Part2!!! Good Work again! i think 40€ Euros are ok to. It helped me already a lot, but i think its still really basic. could you pls be more detailed for example in sum extra chapters 4 mui? thx in advance!
    Powermac MDD 1,25GHz Radeon 9000 Pro 128MB, 1,5gb, Terratec Aureon Space, USB2.0 NEC, MorphOS 2.6 regged, Powermac MDD Dual1.42, Radeon X800XT PE 256MB waiting for r300 support, Mac Mini 1.5GHz MorphOS 2.6 Regged, Efika Radeon 9250 128MB Morphos 2.6
  • »17.11.10 - 13:09
    Profile
  • Yokemate of Keyboards
    Yokemate of Keyboards
    amigadave
    Posts: 2795 from 2006/3/21
    From: Northern Calif...
    Quote:


    jacadcaps wrote:
    @krashan:

    I think there are some MUI4 / subclassing topics you have yet to cover if you want to consider the MUI tutorial complete.

    Things that come to mind:

    1) object ownership / memory management, notification ownership and issues that arise when a notification tries to delete its invoking object (as in: when and how to use pushmethod even in singlethreaded apps)

    2) the purpose of and technicals of subclassing of application/group/numeric/list objects (most common cases I guess), the point of having app's functionality spread across the subclasses since I believe many people still don't grasp the idea and are trying to use hooks for notifications resulting in a very poor application code structure

    3) writing mccs

    4) building interfaces dynamically - all the Group.mui magic with object insertion/addition at runtime

    5) multithreading MUI apps (with a networking example) - all the tricks related to proper synchronization, waiting for threads to finish, messaging between threads (when can one pushmethod safely and when one should consider messages/signals instead), proper synchronization, etc



    This is great to have one accomplished programmer writing tutorials, or articles and other accomplished programmers (including programmers from the MorphOS Dev. Team) reviewing the work and suggesting ways to improve, or expand it. Even the best of programmers approach certain tasks in different ways and having more than one point of view can be very useful to other programmers that are trying to improve their skills, as well as beginning programmers that are just learning.

    @spirantho,

    This set of articles that Krashan is writing was asked for by, or influenced by a group of members here that wish to learn how to program for MorphOS2.x, so having these first few installments at a very basic level is appropriate, but I also hope that there is content within them that is useful to existing programmers.

    I am sure that Krashan plans to raise the level of future articles/tutorials so they will be more useful to existing programmers and still be worded in a way that the beginning programmers will not get lost and be left behind.

    This work by Krashan is perfect in its timing for me, as my motivation to improve my meager programming skills and start writing code on a regular schedule each week and month, is very high at this time. I hope that other experienced MorphOS2.x programmers will join Krashan in creating future tutorials, or other programming articles and applying for a portion of the bounty money already collected for such work. Diversity and different points of view from different experienced programmers can be a good thing, as long as it does not confuse the beginning programming students.

    Thanks again Krashan for all your efforts and please continue to provide this valuable service to our community.
    MorphOS - The best Next Gen Amiga choice.
  • »17.11.10 - 15:16
    Profile
  • Order of the Butterfly
    Order of the Butterfly
    DiskDoctor
    Posts: 306 from 2009/4/17
    From: Rzeszow, place...
    I still claim that Python tutorial is a must have, as long as some quids are still in the pool.

    Both Python and PyMui by yomgui are mature enough to use them for making apps, I did Hello World some year ago or so. Python is very attractive, unlike C/C++, especially for non-programmers. Also it is easy and very popular/ I did not look at recent yomgui's page but AFAIR the only shortage was the documentation... Frankly it was the factor that stopped me from writting a spreadsheet app.

    Python anybody?

    DD
    Was: Mac Mini PPC running MorphOS 2.4
    Now: Amiga Forever 2010 with AmiKit and AmigaSYS
    Not used: Icaros Desktop 1.2 (reason: no wifi)
    Planned soon: an OS4 system
    Shortly then: a MOS notebook (wifi is a must-have)
  • »17.11.10 - 15:32
    Profile
  • MorphOS Developer
    March
    Posts: 91 from 2003/7/30
    From: Warsaw, Poland
    Go ahead with MUI Tutorial! The goal 3 should imho contains some basics on designing GUI layout (something new for people used to wizards and creators), basic multiprocessing with MUI (aka how to perform cpu intensive calculations without making an application unresponsive) and some word on new MUI4 lists (I know that there is an autodoc, but well described example is much easier to understand).
    Marek Szyprowski ...... happy MorphOS, AmigaOS and Debian/Linux user ........
  • »17.11.10 - 16:44
    Profile Visit Website
  • Priest of the Order of the Butterfly
    Priest of the Order of the Butterfly
    ausPPC
    Posts: 543 from 2007/8/6
    From: Pending...
    @March & jacadcaps

    That's a good point about multithreading in order to keep an application interface responsive while other processing continues - and I can think of a simple yet processor intensive example app: an interactive fractal generator / explorer.

    Maybe that's a bit too '90s but I'm sure there are many other simple yet intensive projects that could be undertaken.
    PPC assembly ain't so bad... ;)
  • »17.11.10 - 17:22
    Profile Visit Website
  • Priest of the Order of the Butterfly
    Priest of the Order of the Butterfly
    ausPPC
    Posts: 543 from 2007/8/6
    From: Pending...
    'nother idea... What's a useful (yet modest sized) Linux / open source app that isn't already ported to MorphOS? If the next part of the tutorial focused on porting C projects from other operating systems, a few us C newbies might feel brave enough to start porting independently.
    PPC assembly ain't so bad... ;)
  • »18.11.10 - 00:34
    Profile Visit Website
  • MorphOS Developer
    jacadcaps
    Posts: 3108 from 2003/3/5
    From: Canada
    @ausPPC

    Porting? That's not really something you could cover without covering most of the issues I suggested first.
  • »18.11.10 - 07:40
    Profile Visit Website
  • Priest of the Order of the Butterfly
    Priest of the Order of the Butterfly
    ausPPC
    Posts: 543 from 2007/8/6
    From: Pending...
    I know I'd get more cred' for figuring this out by myself - and I haven't given up yet, but... Using helloworld_mui as a starting point, how would I get the program window to take a typed line of input, print it backwards somewhere and then reset the input buffer so it's ready to take a new line of input?
    PPC assembly ain't so bad... ;)
  • »19.11.10 - 20:54
    Profile Visit Website
  • MorphOS Developer
    Krashan
    Posts: 1107 from 2003/6/11
    From: Białystok...
    Ok, so now is the time for the next tutorial. I'm considering following subjects:
    1. Subclassing in MUI - general description + typical cases.
    2. GUI layout in MUI.
    3. Multithreaded programming - general methods, MUI extensions.
    4. Dynamic GUIs.
    I think topics 1. and 2. are most important. I expect the topic 2. to be shorter, so it can be finished faster. Both are essential for writing good applications. In my opinion topics 3. and 4. can be covered later, as they are more advanced. What do you think?
  • »22.11.10 - 09:44
    Profile Visit Website
  • MorphOS Developer
    zukow
    Posts: 645 from 2005/2/9
    From: Poland
    Topic 1 and 3 is most important. Topic 2 is widely described among other mui courses.
  • »22.11.10 - 10:01
    Profile Visit Website
  • Paladin of the Pegasos
    Paladin of the Pegasos
    jcmarcos
    Posts: 1178 from 2003/3/13
    From: Pinto, Madrid ...
    Quote:

    zukow wrote:
    Topic 1 and 3 is most important. Topic 2 is widely described among other mui courses.


    Agree. But, even if the second topic is available elsewhere, I'd still love reading it from Gregorsz lovely prose.
  • »22.11.10 - 10:25
    Profile
  • Cocoon
    Cocoon
    manga
    Posts: 41 from 2009/5/6
    i agree wid jcmarcos. would also like to read more detailed point 2 and 3 from krashan if possible :) all points krashan named are important in my noob eyes :)


    [ Edited by manga on 2010/11/22 11:41 ]
    Powermac MDD 1,25GHz Radeon 9000 Pro 128MB, 1,5gb, Terratec Aureon Space, USB2.0 NEC, MorphOS 2.6 regged, Powermac MDD Dual1.42, Radeon X800XT PE 256MB waiting for r300 support, Mac Mini 1.5GHz MorphOS 2.6 Regged, Efika Radeon 9250 128MB Morphos 2.6
  • »22.11.10 - 10:37
    Profile
  • Yokemate of Keyboards
    Yokemate of Keyboards
    amigadave
    Posts: 2795 from 2006/3/21
    From: Northern Calif...
    @Krashan,

    Looks like a good plan to me.
    MorphOS - The best Next Gen Amiga choice.
  • »22.11.10 - 21:39
    Profile
  • MorphOS Developer
    Krashan
    Posts: 1107 from 2003/6/11
    From: Białystok...
    After talks with experienced MUI programmers in the team, I've decided that subclassing topic is the most important and will be done first. Because it is very broad topic, it is possible, that it will be splitted into smaller goals.

    Developing MUI applications by subclassing has been considered a "higher level of magic" for years. It was very bad, as it led to using bad programming practices and ignoring object oriented nature of MUI. I hope my tutorial will change this :-).
  • »23.11.10 - 09:20
    Profile Visit Website
  • Priest of the Order of the Butterfly
    Priest of the Order of the Butterfly
    MarK
    Posts: 641 from 2004/1/25
    From: Prague, The Cz...
    one more thing... another languages, i'd love to see some simple examples developed and described in several languages including their final executable sizes, i'm not a python guy, but i know some, so imo it's really a must have examples, also pascal, lisp, portablE, C/C++ (ofcourse), i guess, that the main goal should be to spread the developers base, not everyone will be satisfied with C/C++. Also some MorphOS compatible Basic would be awesome.

    Does anybody here remember AMOSBasic Pro 2.0? I do... I developed lots of stuff in it in it's times, and it had the best documentation/tutorials, because all functions had precise description including a small example of usage... that should be the most important thing imho...

    i do keep my fingers crossed!!!

    bye, MarK.
  • »24.11.10 - 05:52
    Profile