Solving Ben Lunt FYSOS GUI Book (6)

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
User avatar
~
Member
Member
Posts: 1228
Joined: Tue Mar 06, 2007 11:17 am
Libera.chat IRC: ArcheFire

Solving Ben Lunt FYSOS GUI Book (6)

Post by ~ »

I finally got the book about GUIs that Ben Lunt wrote.

The first thing I figure a book about programming should have nowadays is an URL to the toolchain installation/configuration and compilation process.
In this way we can start playing with the code immediately, knowing exactly the structure of its development environment and exactly how to use (even in a YouTube video link with the full process leaving no detail out).

NOTE: The intention I have here is to fully understand how each trick works, and then implement a formal GUI (graphical, textual...) for pure DOS, which should support Long File Name drivers, NTFS drivers, USB and HID storage drivers, serial mouse drivers, etc., (I talk about using existing DOS drivers under this GUI) and also create, cut, copy, paste, search text and binary strings, rename, delete, and in the end run MS-DOS programs inside of it (implementing and linking into the GUI or any graphical application a few WinAPI and HTML4/HTML5 functions of several kinds to give it more power). A stand-alone GUI for pure MS-DOS/FreeDOS will help it become much more usable in modern terms again, specially when it reaches the point where it can display several image and document file types with helper viewer and editor programs.


So right now I am trying to understand how to compile each example and the full GUI program so I can put it here or YouTube...

I'm taking note of it because this is the "saved state of the process" to solve this book, so I need to keep it as if it was the task from a CPU and OS, so I don't forget that this is the first thing I need to do about this book while doing other unrelated and equally complex programming tasks.

So:
- What tools to use exactly and how to configure them (make for DJGPP?)?
- How to compile exactly each example, mainly the full GUI one.

I'll post whatever I learn in a while...
Last edited by ~ on Mon Aug 15, 2016 4:19 pm, edited 3 times in total.
User avatar
BenLunt
Member
Member
Posts: 941
Joined: Sat Nov 22, 2014 6:33 pm
Location: USA
Contact:

Re: Solving Ben Lunt FYSOS GUI Book (6)

Post by BenLunt »

Uuuhhhmmm... The book explains exactly how to compile the examples and the GUI.

It even explains where to get the tool chain to compile it with.

If that isn't enough, it contains an already compiled executable ready to be executed.

Is that not enough?

Also, usually it is common etiquette to ask if you can create a youtube video of someone's project before creating a youtube video of someone's project.

One thing to note, and I have noted this a few times within the book, that the code and documentation within is intended to show you how to create a GUI, not create one for you. The current executable code will simply show what can be done, while the code and documentation will show how to improve it, add to it, change it, and/or make it yours.

Creating a youtube video, though it sounds interesting, may not be what you are looking for.

Either way, and this goes to anyone who has the book and code, please let me know if you find any errors and/or suggestions for improvements.

Thank you and keep me posted,
Ben
User avatar
iansjack
Member
Member
Posts: 4706
Joined: Sat Mar 31, 2012 3:07 am
Location: Chichester, UK

Re: Solving Ben Lunt FYSOS GUI Book (6)

Post by iansjack »

I have to say that publishing full instructions on "how to use Ben's book" would be a big mistake (and, as Ben says, pretty rude without consulting with him). This is not "program an OS in 24 hours" but it is reference material to help experienced programmers. I have Ben's excellent book on USB. If it had come with complete instructions and source code for a USB driver it would have been a lot less useful than it is. I have learned far more by reading the book, trying to understand what is happening, reading the reference documentation, and then implementing the code myself than I ever would have if I had been presented with ready made instructions. The book was a great spur towards further research and without it I probably would never have started.

Programming operating systems is serious programming and not, to my mine, a matter of just following instructions. What's the point in that? Detailed instructions just constrain people to a single way of thinking, which is exactly the opposite of what OS programming is all about.

(BTW - thanks Ben for your books! They provoke thought and inspire further experimentation.)
User avatar
~
Member
Member
Posts: 1228
Joined: Tue Mar 06, 2007 11:17 am
Libera.chat IRC: ArcheFire

Re: Solving Ben Lunt FYSOS GUI Book (6)

Post by ~ »

NOTE: The intention I have here is to fully understand how each trick works, and then implement a formal GUI (graphical, textual...) for pure DOS, which should support Long File Name drivers, NTFS drivers, USB and HID storage drivers, serial mouse drivers, etc., (I talk about using existing DOS drivers under this GUI) and also create, cut, copy, paste, search text and binary strings, rename, delete, and in the end run MS-DOS programs inside of it (implementing a few WinAPI and HTML4/HTML5 functions). A stand-alone GUI for pure MS-DOS/FreeDOS will help it become much more usable in modern terms again, specially when it reaches the point where it can display several image and document file types with helper viewer and editor programs.

This is for the main GUI demo, working under Windows XP 32-bit, Windows 7 32-bit or preferably under Windows 95/98/98SE/Millenium/DOSBox.

NOTE: I've tested it in a Thinkpad 390x with Windows 98, MS-DOS and FreeDOS, but it only works under a Windows 9x console. If I run the GUI demo under pure DOS, it crashes and dumps. That's probably because of some segment register with bad values or an unitialized FPU, so the final demo (and specially my own GUI implementation) should be reworked to have the whole machine initialized properly instead of having Windows do it so it doesn't crash. However, it works nicely in the rest of aspects. At least this is what happens in a Thinkpad 390x with pure DOS.

It looks like we just need to download a good DJGPP copy, like this one:
Image http://archive.org/download/DJGPP_Tools/djgpp--2016-08-14.zip


Also add the following lines to AUTOEXEC.BAT or run them in the console for being able to properly use DJGPP:

Code: Select all

SET PATH=%PATH%;C:\djgpp\bin
setdjgpp c:\djgpp c:/djgpp




Now we must extract gui_vol6.zip and then gui_vol6.iso

Now go to the directory X:\FYSOS\MAIN\GUI\SOURCE\GUI_DEMO


Before anything, there seems to be a line with an error in the file "BITLINE.CPP".
We must go to line 189, which reads:

Code: Select all

    sincos(&dcos, &dsin, (double) start * 0.017453292);  // Radians = degrees * (pi / 180)  degrees = radians * (180 / pi)


Comment it and change it by the following code, since the parameters to the C library function "sincos" seem to be wrong.
In any case, the value for "start" seems to be overwritten by the "sincos" call so "start = start * 0.017453292" probably does nothing:

Code: Select all

    start = start * 0.017453292;
    sincos(dcos, &dsin, (double*)&start);  // Radians = degrees * (pi / 180)  degrees = radians * (180 / pi)




Now we just need to save changes and run the following:

Code: Select all

make all


Use make clean to start over:

Code: Select all

make clean


Everything should go well now and the file "GUI.EXE" should be produced. Now we need to copy all font and image files from the "Release" directory to a new one and test the program we just compiled.





It would be good to pack geometric primitives, graphs and area fill styles such as those from BGI drivers.

I'm currently trying to learn how to plot lines with angles. It looks like I can use a circle algorithm to get the angle natively in radians, or in degrees. Then I need a circular area, for example an X-Y center point and 2 halves, for example each one with 128 pixels.

So I would have a 128*2+1 (257) pixels circle. To be perfectly centered, the center point takes 1 pixel and each circle half takes 128 pixels.

Then I would know the center (start) point and the end point, 128 pixels apart, and with the circle algorithm I could draw a line anywhere between those 2 points.

I want to implement it in JavaScript or in Turbo C++ using BGI drivers, then in assembly.

The question is: What is this sine/cosine code used for? I guess that it's used to smooth edges for the controls and to do similar things in the GUI.

I'm using the tutorial 3 from Denthor of Asphyxia to understand these algorithms, and the use of radians (native to the machine) or degrees.
User avatar
~
Member
Member
Posts: 1228
Joined: Tue Mar 06, 2007 11:17 am
Libera.chat IRC: ArcheFire

Re: Solving Ben Lunt FYSOS GUI Book (6)

Post by ~ »

I need to bring up all projects I've done about GUIs, at low level, regular level (WinAPI, etc...) and high level (HTML/HTML5/JavaScript/CSS). With this I will better understand by comparing what I've been able to do with what the book adds to it.

I also need to identify the highest and lowest API functions of the example code for the book.
I need to start by implementing the highest level API and elements in HTML to implement it in web pages (the easiest way to go, and up to down in the depth of concepts).
I need to identify the helper functions that I either don't need in an HTML GUI, or that I can implement differently.

Try to go from the book examples, to a BGI implementation (to take advantage of things like calculating graphics with OR, XOR, saving areas, etc., and reimplement those functions in any other platforms with BGI style at least for the most convenient level graphics API), to HTML, to our own code in portable x86 Assembly.


________________________________________________________________________________________
________________________________________________________________________________________
One of the things I remember to have implemented is a directory/TOC tree control in JavaScript, given a JavaScript file with an array containing spaces at the beginning and 3 quoted values for directories, or 4 quoted values for files.
I know that such tree view control isn't the easiest to implement and requires several kilobytes of code (unless incredibly optimized) just to detect and calculate the positions and the type of each entry (container or leaf).
I know how to implement at the HTML side, so it would be advantageous to understand which APIs to use to also implement it natively and use it in DOS, etc.
User avatar
BenLunt
Member
Member
Posts: 941
Joined: Sat Nov 22, 2014 6:33 pm
Location: USA
Contact:

Re: Solving Ben Lunt FYSOS GUI Book (6)

Post by BenLunt »

~ wrote:Before anything, there seems to be a line with an error in the file "BITLINE.CPP".
We must go to line 189, which reads:

Code: Select all

    sincos(&dcos, &dsin, (double) start * 0.017453292);  // Radians = degrees * (pi / 180)  degrees = radians * (180 / pi)
Comment it and change it by the following code, since the parameters to the C library function "sincos" seem to be wrong.
In any case, the value for "start" seems to be overwritten by the "sincos" call so "start = start * 0.017453292" probably does nothing:

Code: Select all

    start = start * 0.017453292;
    sincos(dcos, &dsin, (double*)&start);  // Radians = degrees * (pi / 180)  degrees = radians * (180 / pi)
Starting with DJGPP version 2.05, the parameters are switched:
http://www.delorie.com/djgpp/doc/kb/Cha ... 02e05.html

I have now added code as such:

Code: Select all

#if ((__DJGPP__ >= 2) && (__DJGPP_MINOR__ >= 5))
    sincos((double) start * 0.017453292, &dcos, &dsin);  // Radians = degrees * (pi / 180)  degrees = radians * (180 / pi)
#else
    sincos(&dcos, &dsin, (double) start * 0.017453292);  // Radians = degrees * (pi / 180)  degrees = radians * (180 / pi)
#endif
~ wrote: The question is: What is this sine/cosine code used for? I guess that it's used to smooth edges for the controls and to do similar things in the GUI.
Used to draw circles. For example, a Radio Button.
https://www.google.com/search?q=radio+button+images

Thanks,
Ben
User avatar
~
Member
Member
Posts: 1228
Joined: Tue Mar 06, 2007 11:17 am
Libera.chat IRC: ArcheFire

Re: Solving Ben Lunt FYSOS GUI Book (6)

Post by ~ »

The previous code by Ben Lunt actually solved the problem and should be used. Otherwise, the code I wrote just produces a dot instead of a circle for radio buttons.

Code: Select all

#if ((__DJGPP__ >= 2) && (__DJGPP_MINOR__ >= 5))
    sincos((double) start * 0.017453292, &dcos, &dsin);  // Radians = degrees * (pi / 180)  degrees = radians * (180 / pi)
#else
    sincos(&dcos, &dsin, (double) start * 0.017453292);  // Radians = degrees * (pi / 180)  degrees = radians * (180 / pi)
#endif



I have uploaded a DJGPP 2.05 copy with the latest binaries to:
Image djgpp_2.05b_minimal__2016-08-22.zip

I made a YouTube video showing how to download DJGPP 2.05, configure it and compile the GUI_Demo here:
http://www.youtube.com/watch?v=ssFXyW7kSZY


But in short, you should add the following to AUTOEXEC.BAT or to the PATH and DJGPP system variables in XP/2000:

Code: Select all

SET PATH=%PATH%;C:\djgpp\bin
SET DJGPP=C:\djgpp\djgpp.env


It seems that the MAKEFILE needs to be modified when using DJGPP 2.05. Using GPP.EXE works when compiling the object *.o files, but when we want to link those files into GUI.EXE, we need to use GCC.EXE instead of GPP.EXE

If I try to use GPP instead of GCC to build the actual GUI.EXE file, then the following error is produced (it probably has to do with something to install, and the OSDev wiki at http://wiki.osdev.org/GCC_Cross-Compiler talk about it, but I just modified the MAKEFILE and it seems to produce a clean compilation):

Code: Select all

ld: cannot find -lgcc


So I had to modify the MAKEFILE for the GUI_Demo like this (note that we use GPP to build object files and GCC to build the final EXE):

Code: Select all

GPP = gpp
GCC = gcc
CFLAGS = -O2
OBJECTS = atom.o bitline.o bitmap.o bitpixel.o button_bar.o checkbox.o                \
  core.o decorate.o drs.o examples.o filesel.o font.o gui.o gui_mb.o gui_vesa.o       \
  image_bmp.o image_gif.o image_pcx.o images.o list.o menu.o mouse.o                  \
  progress.o rectatom.o region.o scroll.o slider.o sliderbar.o strings.o taskbar.o    \
  textedit.o textual.o updown.o vector.o video.o

all: gui.exe

gui.exe : $(OBJECTS)
	$(GCC) -o $@ $(OBJECTS) $(CFLAGS) 

%.o : %.cpp
	$(GPP) $(CFLAGS) -c $< -o $@

clean:
	del *.o
	del gui.exe

Last edited by ~ on Mon Aug 29, 2016 10:36 am, edited 1 time in total.
User avatar
BenLunt
Member
Member
Posts: 941
Joined: Sat Nov 22, 2014 6:33 pm
Location: USA
Contact:

Re: Solving Ben Lunt FYSOS GUI Book (6)

Post by BenLunt »

~ wrote:The previous code by Ben Lunt actually solved the problem and should be used. Otherwise, the code I wrote just produces a dot instead of a circle for radio buttons.

Code: Select all

#if ((__DJGPP__ >= 2) && (__DJGPP_MINOR__ >= 5))
    sincos((double) start * 0.017453292, &dcos, &dsin);  // Radians = degrees * (pi / 180)  degrees = radians * (180 / pi)
#else
    sincos(&dcos, &dsin, (double) start * 0.017453292);  // Radians = degrees * (pi / 180)  degrees = radians * (180 / pi)
#endif
Please note that my change will only work as long as the Major version stays 2 *or* that it increases and the minor version is at least 5.
An error on my part. It was a quick, but dumb fix. How about?

Code: Select all

#if ((__DJGPP__ > 2) || ((__DJGPP__ == 2) && (__DJGPP_MINOR__ >= 5)))
    sincos((double) start * 0.017453292, &dcos, &dsin);  // Radians = degrees * (pi / 180)  degrees = radians * (180 / pi)
#else
    sincos(&dcos, &dsin, (double) start * 0.017453292);  // Radians = degrees * (pi / 180)  degrees = radians * (180 / pi)
#endif
~ wrote:I have uploaded a DJGPP 2.05 copy with the latest binaries to:
The best thing to do is just get the latest from the source:
http://www.delorie.com/djgpp/ and then the Zip Picker.
(For the unsuspected new DJGPP user, the link posted by '~' contains way more than you need, being nearly 400 Meg in size. The actual zip files you need are less than 50Meg and that includes C and C++ compilers, assembler, and many tools and documentation. Use the Zip Picker shown above. It asks what you want and then tells you want you need. Nothing more.)
~ wrote:I made a YouTube video showing how to download DJGPP 2.05, configure it and compile the GUI_Demo here:
http://www.youtube.com/watch?v=ssFXyW7kSZY
Please don't take this the wrong way, but out of curiosity I went to view the video and as soon as I saw that it was more than an hour long, I couldn't hit the close button fast enough.

Please note that at the top of many source files, I state:

* This code is included on the disc that is included with the book
* FYSOS: The Graphical User Interface, and is for that purpose only. You have
* the right to use it for learning purposes only. You may not modify it for
* redistribution for any other purpose unless you have written permission
* from the author.
*
* You may modify and use it in your own projects as long as they are
* for non profit only and not distributed. Any project for profit that
* uses this code must have written permission from the author.

Posting the makefile gets close to breaking that agreement. I don't ask that you don't distribute it due to self worth, pride, or any such similar thing. I beg and plea that you do not, so that when someone has a question about the code, they know exactly where to look for the answer and I don't have to worry about modified code. Imagine if someone made the changes you show here and then ask me why my code doesn't compile, I not knowing that they made the changes you mention here? I could spend a lot of time trying to help, getting nowhere fast.

I get that you would like to show how to use my code, and I appreciate that, but the code compiles just fine, as is (plus two minor changes, one shown above, the other listed in the Errata at http://www.fysnet.net/the_graphical_user_interface.htm), makefile and all, using the latest version of DJGPP. Also, it takes about 5 minutes to download and install DJGPP and 15 seconds to compile the code, with a majority of that time waiting on slow connections during downloads.

If anyone has any issues with my code, please take it up with me. I watch for personal messages via this forum and check my email at least once a day on average.

Please don't take offense to my comments, I mean no harm. I am just worried of the ramifications of someone getting help from the wrong source.

Thank you,
Ben
User avatar
~
Member
Member
Posts: 1228
Joined: Tue Mar 06, 2007 11:17 am
Libera.chat IRC: ArcheFire

Re: Solving Ben Lunt FYSOS GUI Book (6)

Post by ~ »

I made a static but useful GUI in 2003 for a file-fragment-cutting application for DOS in Turbo C++ 1.0. You can see its binary and code here (it has mouse support with Cute Mouse or Windows drivers, it has a single window that cannot be dragged and that shows file progress, and its main GUI contains several, non-animated buttons, to select the program's options... I made it when I first studied a programming career and when I was around 17-18 years old... I will probably have to use it to compare what else I need to learn now... I guess it will be good to make videos about its usage and functionality when needed):
http://archive.org/details/Logos_Softwa ... _3_For_DOS


I'm just trying to go through each step to solve any problems, being the most urgent being able to actually compile the code. I need to write some reference fragments/snippets so it becomes clear what I'm referring to. The most likely is to think that only the people with the book and the code will make sense of most of this topic when it comes to usable book/code specifics.

It would have been useful to distribute a DJGPP copy with the book pre-configured to compile the samples, but I did my best to create such a pre-configured DJGPP distribution. It's probably better for most users to get it from the Delorie website anyway.



Now I need to meditate what else to solve to actually understand GUIs, whether trying to compile the other code examples and point out other problems, compare the simple dummy GUIs I referenced at the start of this post with Turbo C 1.0 and BGI graphics, or trying to make a simple dummy GUI using HTML just to sketch the logic of the structures to use and make each part of the fundamental logic clearer and trivial.
User avatar
~
Member
Member
Posts: 1228
Joined: Tue Mar 06, 2007 11:17 am
Libera.chat IRC: ArcheFire

Re: Solving Ben Lunt FYSOS GUI Book (6)

Post by ~ »

NOTE: If you get the following error, you will need to locate the "libgcc.a" and copy to the "C:\djgpp\lib\" directory:

Code: Select all

ld: cannot find -lgcc

If you use the ZIP file with DJGPP I uploaded, you can find that file in:

Code: Select all

C:\djgpp\lib\gcc\djgpp\6.10\libgcc.a


So just copy it to "C:\djgpp\lib\"
User avatar
~
Member
Member
Posts: 1228
Joined: Tue Mar 06, 2007 11:17 am
Libera.chat IRC: ArcheFire

Re: Solving Ben Lunt FYSOS GUI Book (6)

Post by ~ »

I have found that the FPU isn't properly initialized in most cases under DOS, as would be expected for such minimalistic OS. So the end result is that we need to initialize it or the GUI program won't run given that the program is compiled using FPU instructions without FPU emulation.

So we should run the file FPU.COM to easily initialize it, as seen in the following link:
Image fpu.zip

Code: Select all

C:\>fpu

After running that, the GUI demo should happily run without troubles under pure, driver-less MS-DOS mode.


If you want to see further about how this program works, please see the following topic:
OSDev.org - FPU initialization
User avatar
~
Member
Member
Posts: 1228
Joined: Tue Mar 06, 2007 11:17 am
Libera.chat IRC: ArcheFire

Re: Solving Ben Lunt FYSOS GUI Book (6)

Post by ~ »

Here is a list of other tiny-sized window manager demos I have found, to extend the study about GUIs. I also need to browse the archives of Programmer's Heaven mirrors to find for GUIs since code from that time and that website is somehow easier to understand and more educative.


MicroWindows/Nano-X
http://archive.org/download/microwindow ... -08-29.zip
http://www.microwindows.org/
ftp://microwindows.censoft.com/
http://www.microwindows.org/microwindow ... cture.html
http://censoft.com/
https://code.google.com/archive/p/nanox ... k-for-dos/


DEPUI GUI
http://www.deleveld.dds.nl/depui33/depui.htm
http://www.deleveld.dds.nl/
https://web.archive.org/web/20050914103 ... EPUI30.ZIP


Alexei Frounze's WinMngrDemo
http://alexfru.narod.ru/os/winmngr/WinMngrDemo.zip
http://alexfru.narod.ru/
http://alexfru.chat.ru/eindex.html


OSDever.net's GUI tutorial by Brandon F.
http://archive.org/download/microwindow ... UI_tut.pdf
http://devel.archefire.org/mirrors/osde ... I_tut.html


I could also mention the GUIs from VisOpSys and MenuetOS, but they are already a bit more integrated into their OS kernels, as well as those from ZSNES and Nesticle for DOS, which are very good and only lack a proper full-fledged file manager (if they had it, they would be popular file managers and GUIs for DOS apart from being mainly NES/SNES emulators).
User avatar
~
Member
Member
Posts: 1228
Joined: Tue Mar 06, 2007 11:17 am
Libera.chat IRC: ArcheFire

Re: Solving Ben Lunt FYSOS GUI Book (6)

Post by ~ »

This message is mostly for Ben Lunt as I need to start developing a solution guide using the actual book code.

I have seen that the README.TXT file for your code CD-ROM says:
--------------------------------------------------------------------
You may use the source code and utilities on this CDROM for non-
profit use, and it is intended to help you learn to build a GUI.

--------------------------------------------------------------------
It should mean that I could freely use your source code to develop any number of solution guides and freely post them online as open source, even public domain work.

So I will try to re-code your demos in my Text Recorder program to explain each trick involved and send you the results of what I develop.

It's a work for students and researchers anyway, so it should be valid to do this academically.

Even converting the book to multimedia to access it more easily (for example reading it aloud for being able to clearly listen to the concepts while attending to other visual tasks) could be necessary to finish studying the book fast without losing too much time in ineffective reads.

The other option apart from converting the original text to audio/videos is reworking the text for each topic, edit my own text and put it in the solution guide.

In any case, you are stating that your code can be used freely for open source and academic material. So I will do that to develop solution guides and clearly explain with end-user code how everything works.

So as things are stated I should be free to repost the code and add anything to it including comments.
I should be free to work on a solution guide to further discuss every topic in the books.









By now I see that the GUI demo is about using the video and VESA usefully with windows that can be dragged, that contain real controls and that are activated in different threads.

The only thing that seems to be missing is a well-implemented text area with default 8-bit ASCII monospaced fonts for the convenience of a base system.

In other words, implementing a proper text area with a default ASCII text font would actually be to implement a proper usable text-mode console.
User avatar
BenLunt
Member
Member
Posts: 941
Joined: Sat Nov 22, 2014 6:33 pm
Location: USA
Contact:

Re: Solving Ben Lunt FYSOS GUI Book (6)

Post by BenLunt »

The intent is for you, and you alone, to use and learn with. It is not, I repeat, *NOT* intended for you to release to others, in no way, shape, or form. You do not have my permission to modify it and post it in any form. You may modify it for your own personal use. You may *not* post that modified code or documentation any where.

If you modify, convert, or re-post any code and or text from the book to any site including this one, it will be against the copyright, and will be considered plagiarism. Plagiarism is considered theft and theft is a punishable act and can and will be enforced.

Please do not, I repeat, do not publish my works, modified or not, anywhere or in any form.
If you do, I will be forced to take legal action against you.

If the moderators are watching this post, I suggest due to the fact that this person has suggested an illegal act on this forum, I ask that he be banned from posting any other posts.

Thank you,
Ben
glauxosdever
Member
Member
Posts: 501
Joined: Wed Jun 17, 2015 9:40 am
Libera.chat IRC: glauxosdever
Location: Athens, Greece

Re: Solving Ben Lunt FYSOS GUI Book (6)

Post by glauxosdever »

Hi,


I think he simply wants to have useful information free for others to learn. I agree with that. He might did not understand your copyright header either. I can understand that. He however did say he would release a copyrighted book for free. I don't agree with that.

In any case, he has good intentions if you look at the core. However, these intentions are buried under his statement that he would make a copyrighted book free, or his endless tutorials about DOS and Windows 9x (both of which are not public domain by the way).


~: If you want to release information about various aspects for free, the best way is to write a website where you analyse the different information you learned from your prior research. Another thing to consider is to persuade others to release their material as public domain, link to them, and write your own material only whenever public domain information about something important and relevant is lacking.

And also, if you want people to take you seriously, you should make your server faster.


Regards,
glauxosdever
Post Reply