<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.netlabs.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Simpson+2</id>
	<title>NikiWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.netlabs.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Simpson+2"/>
	<link rel="alternate" type="text/html" href="https://wiki.netlabs.org/index.php/Special:Contributions/Simpson_2"/>
	<updated>2026-04-07T12:51:21Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://wiki.netlabs.org/index.php?title=Voyager_API_Design_Guide&amp;diff=5006</id>
		<title>Voyager API Design Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.netlabs.org/index.php?title=Voyager_API_Design_Guide&amp;diff=5006"/>
		<updated>2008-03-20T17:21:48Z</updated>

		<summary type="html">&lt;p&gt;Simpson 2: /* The Voyager API Classes and Interface Namespace */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Voyager]]&lt;br /&gt;
This page contains a first draft for the Design and Implementation Guide for the Voyager API. Please note that the codename Voyager will not appear in the resulting document anylonger, once this document has reached the final version.&lt;br /&gt;
&lt;br /&gt;
Please see also the pages&lt;br /&gt;
* [[Voyager_API_Basics|The Voyager API Basics]] - containing the basic ideas for the Voyager API&lt;br /&gt;
* [[Voyager_API_Design|The Voyager API Design]] containing the design/coverage of the upcoming Voyager API&lt;br /&gt;
&lt;br /&gt;
[[Voyager|Voyager Main Page]]&lt;br /&gt;
&lt;br /&gt;
== Foreword ==&lt;br /&gt;
The Voyager API will be implemented as an object oriented class library, using the Netlabs Object Model (NOM).&lt;br /&gt;
&lt;br /&gt;
In the progress of ongoing development, for different reasons it may be required that the Voyager API could use extensions, due to&lt;br /&gt;
* changes within the system, applications require additional interfaces to&lt;br /&gt;
** the underlying kernel or&lt;br /&gt;
** supporting libraries&lt;br /&gt;
* new hardware or file formats requiring support&lt;br /&gt;
* new concepts requiring implementation of new classes and/or frameworks (sets of classes)&lt;br /&gt;
&lt;br /&gt;
In order to keep a high quality standard within the Voyager API, it is vital to ensure that contributions match the way the current Voyager API is designed and implemented. This is the task of the maintainers of the Voyager API, and is done by&lt;br /&gt;
* maintaining this document, defining the rules and methods for design and implementation&lt;br /&gt;
* providing expertise before or during the design and/or implementation of an extension (the earlier involved, the better)&lt;br /&gt;
* deciding if a given contribution can be accepted or has to be modified to meet the requirements for a contribution to the Voyager API&lt;br /&gt;
&lt;br /&gt;
== About this document ==&lt;br /&gt;
This document is intended for the following people:&lt;br /&gt;
* developers, for understanding&lt;br /&gt;
** the methods and rules that are used for and apply to the task of designing and implementing additions to the Voyager API&lt;br /&gt;
** how to contribute extensions to the maintainers of the Voyager API&lt;br /&gt;
* maintainers of the Voyager API, for&lt;br /&gt;
** ensuring that contributed extensions apply to the rules of design and implementation described in this document and meet the requirements for a contribution&lt;br /&gt;
** performing the defined methods/procedures when accepting a contribution&lt;br /&gt;
&lt;br /&gt;
== Design Goals for the Voyager API ==&lt;br /&gt;
The design goals for the Voyager API are:&lt;br /&gt;
* the API is implemented as an object oriented class library&lt;br /&gt;
* using Netlabs Object Model (NOM)&lt;br /&gt;
** allows bindings for non-OO compiler and script languages&lt;br /&gt;
** allows better binary compatibility for external extensions&lt;br /&gt;
* no 1-1 implementation of (one of) the underlying libraries&lt;br /&gt;
** trade in some flexibility for simplicity&lt;br /&gt;
** cover approx. 60-80% of the used cases of the supported libraries&lt;br /&gt;
* gain the same reputation concerning quality like the OS/2 API&lt;br /&gt;
** see this API as &#039;&#039;&#039;advertisement&#039;&#039;&#039; for Voyager as an &#039;&#039;&#039;exemplary development platform&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Implementing the Voyager API as an object oriented class library ==&lt;br /&gt;
The Voyager API will be implemented using the Netlabs Object Model (NOM), implementing a runtime for an object oriented class library. Thus the API itself will be implemented as software classes, allowing access to data and functionality by their interface, being implemented by methods (kind of functions) and members (variables). &lt;br /&gt;
&lt;br /&gt;
Within the class library, all software classes are part of the class hierarchy, where specialized subclasses are derived from parent classes. Subclasses inherit the behaviour from the parent class, and extend an/or modify the behaviour of the parent class. Some of the parent classes are so-called &#039;abstract classes&#039; that is they are not intended to create instances of it, but only for implementing base functionality for subclasses. A special form of this are &#039;virtual base classes&#039;, which do not implement any code, but only define the mandantory interface of a subclass (e.g. a virtual base class for file decoder defines that a subclass for handling of a specific file must implement the method ReadFileContents).&lt;br /&gt;
&lt;br /&gt;
The complete API will be spearated into major parts by [[Voyager_API_Design|groups of classes]]. When the API is to be extended, this can happen by&lt;br /&gt;
* implementing the extension in a new or existing method in an existing class&lt;br /&gt;
* derive a new class from an existing one, and implementing the extension in this class&lt;br /&gt;
* define a new major API or framework and derive a complete new group of classes from  the root class, implementing the extension in these classes&lt;br /&gt;
&lt;br /&gt;
The following rules apply when deciding which of these options are applicable for a given extension:&lt;br /&gt;
* &#039;&#039;&amp;lt;not yet determined&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Another design issue is to decide when using native compiler types (or appropriate typedef&#039;s) instead of classes for data types. In general, for maximum performance and minimum complexity, the native compiler data types should be used for simple data types. For complex data types, or where compiler implemented operators are not sufficient, data type classes should be implemented. In general, data type classes will be implemented by the Netlabs Object Model (NOM), if they are not specific to a special part of the Voyager API implemented with it.&lt;br /&gt;
&lt;br /&gt;
== The Voyager API Classes and Interface Namespace ==&lt;br /&gt;
&lt;br /&gt;
Cinc: this part must be reviewed and should be considered a proposal only.&lt;br /&gt;
&amp;lt;br&amp;gt;cla: all of this document must be considered as a proposal :-)&lt;br /&gt;
&lt;br /&gt;
The class names and the names of the classes&#039; methods and members are prefixed by a tag identifying the major part of the API. &lt;br /&gt;
&lt;br /&gt;
the next section is not true anymore [[User:Simpson 2|Simpson 2]] 18:21, 20 March 2008 (CET) &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;strike&amp;gt;The reasons for the member name prefix is that the IDL compiler creates access macros with the method or member name prepended by an underscore only. If the  members would not be prefixed, two classes within the entire class hierarchy could not have a method with the same name without resorting to the full method name which is built from the class name followed by the method name. &amp;lt;/strike&amp;gt;&lt;br /&gt;
Secondly using prefixes helps identifying the class group a method belongs to.&lt;br /&gt;
&lt;br /&gt;
Within a major part of the Voyager API, &lt;br /&gt;
* class names are prepended with an all upper case prefix, like SVC, SYS, WP, e.g. SYSObject&lt;br /&gt;
* member names are prepended with a lower case prefix, like svc, sys, wp, e.g. sysQueryUniverseSize()&lt;br /&gt;
* symbol names are prepended with an uppercase prefix with a trailing underscore,  like SVC_, SYS_, WP_&lt;br /&gt;
* API function names are prepended with a mixed case prefix, like Svc, Sys, Wp, e.g. SysCalculateNewUniverseSize()&lt;br /&gt;
* Prefix for helper functions (internal, maybe static, functions not visible to the world) needs to be defined&lt;br /&gt;
&lt;br /&gt;
The class hierarchy of a major part of the Voyager API starts with the class XXXObject, where XXX is the all uppercase prefix of the API Part. Most class of this API part are derived from this base class. &lt;br /&gt;
&lt;br /&gt;
In addition to that the following rules apply to naming methods:&lt;br /&gt;
* where methods return a pointer to an object or data type&lt;br /&gt;
** *query* methods return a pointer to original data that may not be altered or freed&lt;br /&gt;
** *get* methods return a pointer to a copy of original data where the copy has to be released by the caller (destroy the object or free memory. A dedicated method to do that is ususally appropriate).&lt;br /&gt;
&lt;br /&gt;
== Extending the Voyager API ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;to be edited&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The following tasks are to be processed when suggesting an extension to the Voyager API:&lt;br /&gt;
* document new functionality&lt;br /&gt;
** used case&lt;br /&gt;
** requirements&lt;br /&gt;
* (*) search for (base) classes for either to&lt;br /&gt;
** implement it in a new or existing method in an existing class&lt;br /&gt;
** derive a new class from an existing one for it&lt;br /&gt;
** define a new major API or framework, derive from root class for it&lt;br /&gt;
* (*) analyse and document design options&lt;br /&gt;
* define testcases per design option&lt;br /&gt;
* (*) decide for one option, document the reasons for the decision&lt;br /&gt;
* implement the extension within a testcase&lt;br /&gt;
* perform the testcase, document results&lt;br /&gt;
* send contribution to the API maintainers, including&lt;br /&gt;
** the testcase with source&lt;br /&gt;
** all documentation items&lt;br /&gt;
&lt;br /&gt;
For the steps marked with (*) it may make sense to discuss the existing results with the maintainers of the API, to make sure that the testcase implementation already meets all requirements and design and implementation rules.&lt;br /&gt;
&lt;br /&gt;
== Accepting contributions for the Voyager API ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;to be edited&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When a proposal for an extension is being sent to the maintainer team, the team will determine the maintainer for that extension (not necessarily one of the team). The proposal can be sent in as an idea only, when asking for expertise and feedback, or already as a fully implemented extension.&lt;br /&gt;
&lt;br /&gt;
In order to process the extension proposal, &#039;the maintainer&#039; will perform  the following steps, where generally one major step will be performed only when the predecessor has been finished:&lt;br /&gt;
* provide expertise and feedback to the author of the extension&lt;br /&gt;
* review the contribution for the following aspects (if already available)&lt;br /&gt;
** usability of new functionality&lt;br /&gt;
** design options analysis and decision&lt;br /&gt;
** testcase implementation and results&lt;br /&gt;
* develop further design and implementation alternative(s), where applicable&lt;br /&gt;
** pass back to author for review and modification, where required&lt;br /&gt;
* discuss changes to this Design and Implementation Guide, where applicable/required&lt;br /&gt;
* perform final discussion in maintainer team&lt;br /&gt;
* within the maintainer team, decide to accept or reject the contribution, concerning design and implementation&lt;br /&gt;
&lt;br /&gt;
* when accepted&lt;br /&gt;
** request further documentation for the API docs, where required&lt;br /&gt;
** add the extension and documentation to the Voyager API code archive&lt;br /&gt;
** extend the build environment in the source archive, where required&lt;br /&gt;
* when rejected, document reasons and, where applicable, either&lt;br /&gt;
** request modification&lt;br /&gt;
** propose design alternative(s)&lt;br /&gt;
&lt;br /&gt;
It may be necessary to perform this procedure several times, before an extension is completely accepted or rejected.&lt;br /&gt;
&lt;br /&gt;
== Appendix: Requirements for testcase packages  ==&lt;br /&gt;
&#039;&#039;&amp;lt;to be edited&amp;gt;&#039;&#039;&lt;br /&gt;
* documentation&lt;br /&gt;
** design&lt;br /&gt;
** per testcase&lt;br /&gt;
*** description (including prerequisites)&lt;br /&gt;
*** how to execute&lt;br /&gt;
*** expected result&lt;br /&gt;
* compiled binaries&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Appendix: Building the Voyager API ==&lt;br /&gt;
&#039;&#039;&amp;lt;to be edited&amp;gt;&#039;&#039;&lt;br /&gt;
* define the standard build environment for the Voyager API&lt;br /&gt;
** required programs&lt;br /&gt;
** provided methods&lt;br /&gt;
*** build all, docs,&lt;br /&gt;
*** call debugger ?&lt;br /&gt;
*** build/maintain release packages&lt;br /&gt;
* document how to technically extend the build system for to add a new class and/or method&lt;/div&gt;</summary>
		<author><name>Simpson 2</name></author>
	</entry>
	<entry>
		<id>https://wiki.netlabs.org/index.php?title=Developers_Workshop_2007&amp;diff=4588</id>
		<title>Developers Workshop 2007</title>
		<link rel="alternate" type="text/html" href="https://wiki.netlabs.org/index.php?title=Developers_Workshop_2007&amp;diff=4588"/>
		<updated>2007-05-07T19:38:55Z</updated>

		<summary type="html">&lt;p&gt;Simpson 2: /* Workshop Program */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Logodws07.png|right|frame|The workshop logo was created by [http://www.esthereberwijn.com/ Esther Eberwijn] ]]&lt;br /&gt;
=== Netlabs Developers Workshop 2007 7 &amp;amp; 8 July Amsterdam, Holland===&lt;br /&gt;
&lt;br /&gt;
This page is dedicated to the OS/2 and eComStation Developers Workshop 2007!&lt;br /&gt;
&lt;br /&gt;
== News Items==&lt;br /&gt;
08-04-2007: Sent out a message with ticket information and how to submit presentations&amp;lt;br&amp;gt;&lt;br /&gt;
29-03-2007: Added registration info&lt;br /&gt;
&lt;br /&gt;
== Registration==&lt;br /&gt;
The registration is open at [http://www.mensys.net/DeveloperWorkshop2007/ Mensys] now, we provide the following tickets:&lt;br /&gt;
&lt;br /&gt;
* netlabs.org Developers Workshop 2007, Saturday and Sunday: 45 Euro&lt;br /&gt;
* netlabs.org Developers Workshop 2007, one day: 25 Euro&lt;br /&gt;
* netlabs.org Developers Workshop 2007, students: Free&lt;br /&gt;
&lt;br /&gt;
You can register at http://www.mensys.net/DeveloperWorkshop2007/&lt;br /&gt;
&lt;br /&gt;
== Workshop Program ==&lt;br /&gt;
&lt;br /&gt;
We are talking to some speakers, with interesting subjects to be presented. There is no schedule yet.&lt;br /&gt;
If you are interested in speaking please mail to: developersworkshop@netlabs.org&lt;br /&gt;
&lt;br /&gt;
There will be 7 sessions per day of 45 minutes, starting at 9:00 and ending at 17:00&lt;br /&gt;
&lt;br /&gt;
=== Topics ===&lt;br /&gt;
&lt;br /&gt;
We already have some topics for the workshop:&lt;br /&gt;
* Introduction into NOM&lt;br /&gt;
* Utilizing multi core processors with multiple threads&lt;br /&gt;
* Voyager Resources&lt;br /&gt;
* Using USB Modules to connect to external devices.&lt;br /&gt;
&lt;br /&gt;
=== Lunch ===&lt;br /&gt;
&lt;br /&gt;
During the 2 days of the workshop we arranged a lunch buffet, to be payed at the location, it will be around 12,- Euro excluding bevarages.&lt;br /&gt;
&lt;br /&gt;
== Workshop Location ==&lt;br /&gt;
&lt;br /&gt;
This years edition will be held in the beautiful and famous city of Amsterdam in Holland.&lt;br /&gt;
I won&#039;t comment on some of the more well known attractions of this city, but if you have the time, I would advise you to at least spent a day there, when you are in Holland anyway!&lt;br /&gt;
&lt;br /&gt;
The event location will be:&lt;br /&gt;
Cultural center Griffioen of the VU Amsterdam.&lt;br /&gt;
It is related to the VU university of Amsterdam, the seat of Dr. Andrew Tannebaum.&lt;br /&gt;
&lt;br /&gt;
It is located at the border of Amsterdam and Amstelveen, but it is very easy to reach from the city center.&lt;br /&gt;
http://www.vu.nl/Organisatie/index.cfm/home_subsection.cfm/subsectionid/9DB86C70-F9C7-4704-8C9D9ED46EEDB063&lt;br /&gt;
&lt;br /&gt;
=== Accomodation ===&lt;br /&gt;
Please do not wait too long before booking a hotel or hostel, Amsterdam is still a tourist magnet!&lt;br /&gt;
&lt;br /&gt;
For a cheap, but good quality, hostel look at:&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.stayokay.com/index.cfm?fuseaction=Herbergen.showHomeHB&amp;amp;lng=2&amp;amp;id=3&lt;br /&gt;
&lt;br /&gt;
This one is located on the edge of the city center, and close to the stops of tram line 5.&lt;br /&gt;
&lt;br /&gt;
If you travel by car, the following hotel may be of interest to you, the Bastion Hotel Amsterdam/Centrum-Zuidwest:&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.bastionhotels.nl/en/ourhotels/amsterdamzuidwest/&lt;br /&gt;
&lt;br /&gt;
If you are looking for another hotel or hostel, being close to tram line 5 or 51 makes traveling to the location very easy !&lt;br /&gt;
&lt;br /&gt;
=== How to reach the workshop ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;By train:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The event is close to station &#039;Amsterdam - Zuid&#039;. If you travel with an international train you need to transfer at &#039;Amsterdam Duivendrecht&#039;, there are 2 direct trams from &#039;Amsterdam - Centraal&#039;, line 5 and 51.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;By plane:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Travel to &#039;Amsterdam Airport Schiphol&#039; there is an enormous amount of airlines flying there. So it should be possible to get there at a reasonable price. The airport is one stop away with the train. Be sure &#039;&#039;&#039;NOT&#039;&#039;&#039; to travel into the direction of &#039;Amsterdam Centraal&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;By car:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Although there is plenty of free parking space &#039;&#039;&#039;near&#039;&#039;&#039; the event, be aware that parking is &#039;&#039;&#039;expensive&#039;&#039;&#039; and that there are &#039;&#039;&#039;high fines&#039;&#039;&#039; on &#039;&#039;not&#039;&#039; paying if you stay in the city of Amsterdam !!. &lt;br /&gt;
From all directions: travel to the &#039;Ring A10&#039; and take exit &#039;VU Hospital&#039;. More precise directions will follow soon.&lt;/div&gt;</summary>
		<author><name>Simpson 2</name></author>
	</entry>
	<entry>
		<id>https://wiki.netlabs.org/index.php?title=Developers_Workshop_2007&amp;diff=4546</id>
		<title>Developers Workshop 2007</title>
		<link rel="alternate" type="text/html" href="https://wiki.netlabs.org/index.php?title=Developers_Workshop_2007&amp;diff=4546"/>
		<updated>2007-03-29T19:59:59Z</updated>

		<summary type="html">&lt;p&gt;Simpson 2: /* Workshop Program */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Logodws07.png|right|frame|The workshop logo was created by [http://www.esthereberwijn.com/ Esther Eberwijn] ]]&lt;br /&gt;
=== Netlabs Developers Workshop 2007 7 &amp;amp; 8 July Amsterdam, Holland===&lt;br /&gt;
&lt;br /&gt;
This page is dedicated to the OS/2 and eComStation Developers Workshop 2007!&lt;br /&gt;
&lt;br /&gt;
== News Items==&lt;br /&gt;
29-03-2007: Added registration info&lt;br /&gt;
&lt;br /&gt;
== Registration==&lt;br /&gt;
The registration is open at [http://www.mensys.net/DeveloperWorkshop2007/ Mensys] now, we provide the following tickets:&lt;br /&gt;
&lt;br /&gt;
* netlabs.org Developers Workshop 2007, Saturday and Sunday: 45 Euro&lt;br /&gt;
* netlabs.org Developers Workshop 2007, one day: 25 Euro&lt;br /&gt;
* netlabs.org Developers Workshop 2007, students: Free&lt;br /&gt;
&lt;br /&gt;
You can register at http://www.mensys.net/DeveloperWorkshop2007/&lt;br /&gt;
&lt;br /&gt;
== Workshop Program ==&lt;br /&gt;
&lt;br /&gt;
We are talking to some speakers, with interesting subjects to talk about. There is no schedule yet.&lt;br /&gt;
if you are interested in speaking please mail to: developerworkshop@netlabs.org&lt;br /&gt;
&lt;br /&gt;
There will be 7 session per day of 45 minutes, starting at 9:00 and ending at 17:00&lt;br /&gt;
&lt;br /&gt;
== Workshop Location ==&lt;br /&gt;
&lt;br /&gt;
This years edition will be held in the beautiful and famous city of Amsterdam in Holland.&lt;br /&gt;
I won&#039;t comment on some of the more well known attractions of this city, but if you have the time, I would advise you to at least spent a day there, when you are in Holland anyway !&lt;br /&gt;
&lt;br /&gt;
The event location will be:&lt;br /&gt;
Cultural center Griffioen of the VU Amsterdam.&lt;br /&gt;
It is related to the VU university of Amsterdam, the seat of Dr. Andrew Tannebaum.&lt;br /&gt;
&lt;br /&gt;
It is located at the border of Amsterdam and Amstelveen, but it is very easy to reach from the city center.&lt;br /&gt;
http://www.vu.nl/Organisatie/index.cfm/home_subsection.cfm/subsectionid/9DB86C70-F9C7-4704-8C9D9ED46EEDB063&lt;br /&gt;
&lt;br /&gt;
=== Accomodation ===&lt;br /&gt;
Please do not wait too long before booking a hotel or hostel, Amsterdam is still a tourist magnet !&lt;br /&gt;
&lt;br /&gt;
For a cheap, but good quality, hostel look at:&lt;br /&gt;
&lt;br /&gt;
http://www.stayokay.com/index.cfm?fuseaction=Herbergen.showHomeHB&amp;amp;lng=2&amp;amp;id=3&lt;br /&gt;
&lt;br /&gt;
This one is located on the edge of the city center, and close to the stops of tram line 5.&lt;br /&gt;
&lt;br /&gt;
If you are looking for another hotel or hostel, being close to tram line 5 or 51 makes traveling to the location very easy !&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== How to reach the workshop ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;By train:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The event is close to the station &#039;Amsterdam - Zuid&#039;. If you travel with an international train you need to transfer at &#039;Amsterdam Duivendrecht&#039;, there are 2 direct trams from &#039;Amsterdam - Centraal&#039;, line 5 and 51.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;By plane:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Travel to &#039;Amsterdam Airport Schiphol&#039; there is an enormous amount of airlines flying there. Soo it should be possible to get there at a reasonable price. The airport is one stop away with the train. be sure &#039;&#039;&#039;NOT&#039;&#039;&#039; to travel into the direction of &#039;Amsterdam Centraal&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;By car:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Although there is plenty of free parking space &#039;&#039;&#039;near&#039;&#039;&#039; the event, be aware that parking is &#039;&#039;&#039;expensive&#039;&#039;&#039; and that there are &#039;&#039;&#039;high fines&#039;&#039;&#039; on &#039;&#039;not&#039;&#039; paying if you stay in the city of Amsterdam !!. &lt;br /&gt;
From all directions: travel to the &#039;Ring A10&#039; and take exit &#039;VU Hospital&#039;. More exact directions will follow soon.&lt;/div&gt;</summary>
		<author><name>Simpson 2</name></author>
	</entry>
	<entry>
		<id>https://wiki.netlabs.org/index.php?title=Developers_Workshop_2007&amp;diff=4545</id>
		<title>Developers Workshop 2007</title>
		<link rel="alternate" type="text/html" href="https://wiki.netlabs.org/index.php?title=Developers_Workshop_2007&amp;diff=4545"/>
		<updated>2007-03-29T19:49:35Z</updated>

		<summary type="html">&lt;p&gt;Simpson 2: /* Workshop Location */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Logodws07.png|right|frame|The workshop logo was created by [http://www.esthereberwijn.com/ Esther Eberwijn] ]]&lt;br /&gt;
=== Netlabs Developers Workshop 2007 7 &amp;amp; 8 July Amsterdam, Holland===&lt;br /&gt;
&lt;br /&gt;
This page is dedicated to the OS/2 and eComStation Developers Workshop 2007!&lt;br /&gt;
&lt;br /&gt;
== News Items==&lt;br /&gt;
29-03-2007: Added registration info&lt;br /&gt;
&lt;br /&gt;
== Registration==&lt;br /&gt;
The registration is open at [http://www.mensys.net/DeveloperWorkshop2007/ Mensys] now, we provide the following tickets:&lt;br /&gt;
&lt;br /&gt;
* netlabs.org Developers Workshop 2007, Saturday and Sunday: 45 Euro&lt;br /&gt;
* netlabs.org Developers Workshop 2007, one day: 25 Euro&lt;br /&gt;
* netlabs.org Developers Workshop 2007, students: Free&lt;br /&gt;
&lt;br /&gt;
You can register at http://www.mensys.net/DeveloperWorkshop2007/&lt;br /&gt;
&lt;br /&gt;
== Workshop Program ==&lt;br /&gt;
&lt;br /&gt;
There are no registered speakers or sessions at this moment.&lt;br /&gt;
if you are interested in speaking please mail to: developerworkshop@netlabs.org&lt;br /&gt;
&lt;br /&gt;
There will be 7 session per day of 45 minutes, starting at 9:00 and ending at 17:00&lt;br /&gt;
&lt;br /&gt;
== Workshop Location ==&lt;br /&gt;
&lt;br /&gt;
This years edition will be held in the beautiful and famous city of Amsterdam in Holland.&lt;br /&gt;
I won&#039;t comment on some of the more well known attractions of this city, but if you have the time, I would advise you to at least spent a day there, when you are in Holland anyway !&lt;br /&gt;
&lt;br /&gt;
The event location will be:&lt;br /&gt;
Cultural center Griffioen of the VU Amsterdam.&lt;br /&gt;
It is related to the VU university of Amsterdam, the seat of Dr. Andrew Tannebaum.&lt;br /&gt;
&lt;br /&gt;
It is located at the border of Amsterdam and Amstelveen, but it is very easy to reach from the city center.&lt;br /&gt;
http://www.vu.nl/Organisatie/index.cfm/home_subsection.cfm/subsectionid/9DB86C70-F9C7-4704-8C9D9ED46EEDB063&lt;br /&gt;
&lt;br /&gt;
=== Accomodation ===&lt;br /&gt;
Please do not wait too long before booking a hotel or hostel, Amsterdam is still a tourist magnet !&lt;br /&gt;
&lt;br /&gt;
For a cheap, but good quality, hostel look at:&lt;br /&gt;
&lt;br /&gt;
http://www.stayokay.com/index.cfm?fuseaction=Herbergen.showHomeHB&amp;amp;lng=2&amp;amp;id=3&lt;br /&gt;
&lt;br /&gt;
This one is located on the edge of the city center, and close to the stops of tram line 5.&lt;br /&gt;
&lt;br /&gt;
If you are looking for another hotel or hostel, being close to tram line 5 or 51 makes traveling to the location very easy !&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== How to reach the workshop ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;By train:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The event is close to the station &#039;Amsterdam - Zuid&#039;. If you travel with an international train you need to transfer at &#039;Amsterdam Duivendrecht&#039;, there are 2 direct trams from &#039;Amsterdam - Centraal&#039;, line 5 and 51.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;By plane:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Travel to &#039;Amsterdam Airport Schiphol&#039; there is an enormous amount of airlines flying there. Soo it should be possible to get there at a reasonable price. The airport is one stop away with the train. be sure &#039;&#039;&#039;NOT&#039;&#039;&#039; to travel into the direction of &#039;Amsterdam Centraal&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;By car:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Although there is plenty of free parking space &#039;&#039;&#039;near&#039;&#039;&#039; the event, be aware that parking is &#039;&#039;&#039;expensive&#039;&#039;&#039; and that there are &#039;&#039;&#039;high fines&#039;&#039;&#039; on &#039;&#039;not&#039;&#039; paying if you stay in the city of Amsterdam !!. &lt;br /&gt;
From all directions: travel to the &#039;Ring A10&#039; and take exit &#039;VU Hospital&#039;. More exact directions will follow soon.&lt;/div&gt;</summary>
		<author><name>Simpson 2</name></author>
	</entry>
	<entry>
		<id>https://wiki.netlabs.org/index.php?title=Developers_Workshop_2007&amp;diff=4544</id>
		<title>Developers Workshop 2007</title>
		<link rel="alternate" type="text/html" href="https://wiki.netlabs.org/index.php?title=Developers_Workshop_2007&amp;diff=4544"/>
		<updated>2007-03-29T19:46:24Z</updated>

		<summary type="html">&lt;p&gt;Simpson 2: /* Workshop Location */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Logodws07.png|right|frame|The workshop logo was created by [http://www.esthereberwijn.com/ Esther Eberwijn] ]]&lt;br /&gt;
=== Netlabs Developers Workshop 2007 7 &amp;amp; 8 July Amsterdam, Holland===&lt;br /&gt;
&lt;br /&gt;
This page is dedicated to the OS/2 and eComStation Developers Workshop 2007!&lt;br /&gt;
&lt;br /&gt;
== News Items==&lt;br /&gt;
29-03-2007: Added registration info&lt;br /&gt;
&lt;br /&gt;
== Registration==&lt;br /&gt;
The registration is open at [http://www.mensys.net/DeveloperWorkshop2007/ Mensys] now, we provide the following tickets:&lt;br /&gt;
&lt;br /&gt;
* netlabs.org Developers Workshop 2007, Saturday and Sunday: 45 Euro&lt;br /&gt;
* netlabs.org Developers Workshop 2007, one day: 25 Euro&lt;br /&gt;
* netlabs.org Developers Workshop 2007, students: Free&lt;br /&gt;
&lt;br /&gt;
You can register at http://www.mensys.net/DeveloperWorkshop2007/&lt;br /&gt;
&lt;br /&gt;
== Workshop Location ==&lt;br /&gt;
&lt;br /&gt;
This years edition will be held in the beautiful and famous city of Amsterdam in Holland.&lt;br /&gt;
I won&#039;t comment on some of the more well known attractions of this city, but if you have the time, I would advise you to at least spent a day there, when you are in Holland anyway !&lt;br /&gt;
&lt;br /&gt;
The event location will be:&lt;br /&gt;
Cultural center Griffioen of the VU Amsterdam.&lt;br /&gt;
It is related to the VU university of Amsterdam, the seat of Dr. Andrew Tannebaum.&lt;br /&gt;
&lt;br /&gt;
It is located at the border of Amsterdam and Amstelveen, but it is very easy to reach from the city center.&lt;br /&gt;
http://www.vu.nl/Organisatie/index.cfm/home_subsection.cfm/subsectionid/9DB86C70-F9C7-4704-8C9D9ED46EEDB063&lt;br /&gt;
&lt;br /&gt;
=== Accomodation ===&lt;br /&gt;
Please do not wait too long before booking a hotel or hostel, Amsterdam is still a tourist magnet !&lt;br /&gt;
&lt;br /&gt;
For a cheap, but good quality, hostel look at:&lt;br /&gt;
&lt;br /&gt;
http://www.stayokay.com/index.cfm?fuseaction=Herbergen.showHomeHB&amp;amp;lng=2&amp;amp;id=3&lt;br /&gt;
&lt;br /&gt;
This one is located on the edge of the city center, and close to the stops of tram line 5.&lt;br /&gt;
&lt;br /&gt;
If you are looking for another hotel or hostel, being close to tram line 5 or 51 makes traveling to the location very easy !&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== How to reach the workshop ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;By train:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The event is close to the station &#039;Amsterdam - Zuid&#039;. If you travel with an international train you need to transfer at &#039;Amsterdam Duivendrecht&#039;, there are 2 direct trams from &#039;Amsterdam - Centraal&#039;, line 5 and 51.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;By plane:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Travel to &#039;Amsterdam Airport Schiphol&#039; there is an enormous amount of airlines flying there. Soo it should be possible to get there at a reasonable price. The airport is one stop away with the train. be sure &#039;&#039;&#039;NOT&#039;&#039;&#039; to travel into the direction of &#039;Amsterdam Centraal&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;By car:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Although there is plenty of free parking space &#039;&#039;&#039;near&#039;&#039;&#039; the event, be aware that parking is &#039;&#039;&#039;expensive&#039;&#039;&#039; and that there are &#039;&#039;&#039;high fines&#039;&#039;&#039; on &#039;&#039;not&#039;&#039; paying if you stay in the city of Amsterdam !!. &lt;br /&gt;
From all directions: travel to the &#039;Ring A10&#039; and take exit &#039;VU Hospital&#039;. More exact directions will follow soon.&lt;/div&gt;</summary>
		<author><name>Simpson 2</name></author>
	</entry>
	<entry>
		<id>https://wiki.netlabs.org/index.php?title=Developers_Workshop_2007&amp;diff=4438</id>
		<title>Developers Workshop 2007</title>
		<link rel="alternate" type="text/html" href="https://wiki.netlabs.org/index.php?title=Developers_Workshop_2007&amp;diff=4438"/>
		<updated>2007-02-07T15:50:47Z</updated>

		<summary type="html">&lt;p&gt;Simpson 2: /* Netlabs Developers Workshop 2007 7 &amp;amp; 8 July Amsterdam, Holland */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Logodws07.png|right|frame|The workshop logo was created by [http://www.esthereberwijn.com/ Esther Eberwijn] ]]&lt;br /&gt;
=== Netlabs Developers Workshop 2007 7 &amp;amp; 8 July Amsterdam, Holland===&lt;br /&gt;
&lt;br /&gt;
This page is dedicated to the OS/2 and eComStation Developers Workshop 2007!&lt;br /&gt;
&lt;br /&gt;
== Workshop Location ==&lt;br /&gt;
&lt;br /&gt;
This years edition will be held in the beautiful and famous city of Amsterdam in Holland.&lt;br /&gt;
I won&#039;t comment on some of the more well known attractions of this city, but if you have the time, I would advise you to at least spent a day there, when you are in Holland anyway !&lt;br /&gt;
&lt;br /&gt;
The event location will be:&lt;br /&gt;
Cultural center Griffioen of the VU Amsterdam.&lt;br /&gt;
It is related to the VU university of Amsterdam, the seat of Dr. Andrew Tannebaum.&lt;br /&gt;
&lt;br /&gt;
It is located at the border of Amsterdam and Amstelveen, but it is very easy to reach from the city center.&lt;br /&gt;
http://www.vu.nl/Organisatie/index.cfm/home_subsection.cfm/subsectionid/9DB86C70-F9C7-4704-8C9D9ED46EEDB063&lt;br /&gt;
&lt;br /&gt;
=== Accomodation ===&lt;br /&gt;
Please do not wait too long before booking a hotel or hostel, Amsterdam is still a tourist magnet !&lt;br /&gt;
&lt;br /&gt;
For a cheap, but good quality, hostel look at:&lt;br /&gt;
&lt;br /&gt;
http://www.stayokay.com/index.cfm?fuseaction=Herbergen.showHomeHB&amp;amp;lng=2&amp;amp;id=3&lt;br /&gt;
&lt;br /&gt;
This one is located on the edge of the city center, and close to the stops of tram line 5.&lt;br /&gt;
&lt;br /&gt;
If you are looking for another hotel or hostel, being close to tram line 5 or 51 makes traveling to the location very easy !&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== How to reach the workshop ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;By train:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The event is close to the station &#039;Amsterdam - Zuid&#039;. If you travel with an international train you need to transfer at &#039;Amsterdam Duivendrecht&#039;, there are 2 direct trams from &#039;Amsterdam - Centraal&#039;, line 5 and 51.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;By plane:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Travel to &#039;Amsterdam Airport Schiphol&#039; there is an enormous amount of airlines flying there. Soo it should be possible to get there at a reasonable price. The airport is one stop away with the train. be sure &#039;&#039;&#039;NOT&#039;&#039;&#039; to travel into the direction of &#039;Amsterdam Centraal&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;By car:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Although there is plenty of free parking space &#039;&#039;&#039;near&#039;&#039;&#039; the event, be aware that parking is &#039;&#039;&#039;expensive&#039;&#039;&#039; and that there are &#039;&#039;&#039;high fines&#039;&#039;&#039; on &#039;&#039;not&#039;&#039; paying if you stay in the city of Amsterdam !!. &lt;br /&gt;
From all directions: travel to the &#039;Ring A10&#039; and take exit &#039;VU Hospital&#039;. More exact directions will follow soon.&lt;/div&gt;</summary>
		<author><name>Simpson 2</name></author>
	</entry>
	<entry>
		<id>https://wiki.netlabs.org/index.php?title=File:Logodws07.png&amp;diff=4437</id>
		<title>File:Logodws07.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.netlabs.org/index.php?title=File:Logodws07.png&amp;diff=4437"/>
		<updated>2007-02-07T15:48:39Z</updated>

		<summary type="html">&lt;p&gt;Simpson 2: Logo created by Esther Eberwijn&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Logo created by Esther Eberwijn&lt;/div&gt;</summary>
		<author><name>Simpson 2</name></author>
	</entry>
	<entry>
		<id>https://wiki.netlabs.org/index.php?title=Developers_Workshop_2007&amp;diff=4431</id>
		<title>Developers Workshop 2007</title>
		<link rel="alternate" type="text/html" href="https://wiki.netlabs.org/index.php?title=Developers_Workshop_2007&amp;diff=4431"/>
		<updated>2007-02-01T20:08:28Z</updated>

		<summary type="html">&lt;p&gt;Simpson 2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Netlabs Developers Workshop 2007 7 &amp;amp; 8 July Amsterdam, Holland===&lt;br /&gt;
&lt;br /&gt;
This page is dedicated to the OS/2 and eComStation Developers Workshop 2007! &lt;br /&gt;
&lt;br /&gt;
== Workshop Location ==&lt;br /&gt;
&lt;br /&gt;
This years edition will be held in the beautiful and famous city of Amsterdam in Holland.&lt;br /&gt;
I won&#039;t comment on some of the more well known attractions of this city, but if you have the time I would advise you to at least spent a day there when you are in Holland anyway !&lt;br /&gt;
&lt;br /&gt;
The event location will be:&lt;br /&gt;
Cultural center Griffioen of the VU Amsterdam.&lt;br /&gt;
Its related to the VU university of Amsterdam, the seat of Dr. Tannebaum.&lt;br /&gt;
&lt;br /&gt;
Its located at the Border of Amsterdam and Amstelveen, but its very easy reachable from the city center.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Accomadation ===&lt;br /&gt;
Please do not wait to long before booking a hotel of hostel, Amsterdam is still a tourist magnet !&lt;br /&gt;
&lt;br /&gt;
for a cheap but good quality hostel look at:&lt;br /&gt;
&lt;br /&gt;
http://www.stayokay.com/index.cfm?fuseaction=Herbergen.showHomeHB&amp;amp;lng=2&amp;amp;id=3&lt;br /&gt;
&lt;br /&gt;
This one is located on the edge of the city center, and close to the stops of the Tram 5.&lt;br /&gt;
&lt;br /&gt;
if you look for another hotel or hostel, beeing close to Tram 5 or 51 makes traveling to the location very easy !&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== How to reach the workshop ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;By train:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The even is close to the stop &#039;Amsterdam - Zuid WTC&#039; If you travel with a international train you need to transfer at &#039;Amsterdam Duivendrecht&#039;, there are 2 direct Trams from &#039;Amsterdam - Centraal&#039; 5 &amp;amp; 51.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;By plane:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Travel to &#039;Amsterdam Airport Schiphol&#039; there is a enormous amount of airlines flying there so it should be possible to get there at a reasonable price. The airport is one stop away with the train. be sure &#039;&#039;&#039;NOT&#039;&#039;&#039; to travel into the direction of &#039;Amsterdam Centraal&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;By car:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Although there is plenty of free parking space near the event, if you stay in the city of Amsterdam be aware that parking is expensive and that there are high fines on not paying !!. From all directions travel to the &#039;Ring A10&#039; and take exit &#039;VU Hospital&#039; more exact directions will follow soon&lt;/div&gt;</summary>
		<author><name>Simpson 2</name></author>
	</entry>
	<entry>
		<id>https://wiki.netlabs.org/index.php?title=Developers_Workshop_2007&amp;diff=4412</id>
		<title>Developers Workshop 2007</title>
		<link rel="alternate" type="text/html" href="https://wiki.netlabs.org/index.php?title=Developers_Workshop_2007&amp;diff=4412"/>
		<updated>2007-01-20T17:10:22Z</updated>

		<summary type="html">&lt;p&gt;Simpson 2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Netlabs Developers Workshop 2007&lt;br /&gt;
&lt;br /&gt;
This page is dedicated to the OS/2 and eComStation Developers Workshop 2007! &lt;br /&gt;
&lt;br /&gt;
This years edition will be held 7 &amp;amp; 8 July in Amsterdam Holland.&lt;br /&gt;
&lt;br /&gt;
more information will follow soon !&lt;/div&gt;</summary>
		<author><name>Simpson 2</name></author>
	</entry>
	<entry>
		<id>https://wiki.netlabs.org/index.php?title=Developers_Workshop_2007&amp;diff=4397</id>
		<title>Developers Workshop 2007</title>
		<link rel="alternate" type="text/html" href="https://wiki.netlabs.org/index.php?title=Developers_Workshop_2007&amp;diff=4397"/>
		<updated>2007-01-13T21:36:48Z</updated>

		<summary type="html">&lt;p&gt;Simpson 2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Netlabs Developers Workshop 2007&lt;br /&gt;
&lt;br /&gt;
This page is dedicated to the OS/2 and eComStation Developers Workshop 2007! &lt;br /&gt;
&lt;br /&gt;
This years edition will be held 23 &amp;amp; 24 June in Amsterdam Holland.&lt;br /&gt;
&lt;br /&gt;
more information will follow soon !&lt;/div&gt;</summary>
		<author><name>Simpson 2</name></author>
	</entry>
	<entry>
		<id>https://wiki.netlabs.org/index.php?title=Voyager&amp;diff=3977</id>
		<title>Voyager</title>
		<link rel="alternate" type="text/html" href="https://wiki.netlabs.org/index.php?title=Voyager&amp;diff=3977"/>
		<updated>2006-05-05T11:19:18Z</updated>

		<summary type="html">&lt;p&gt;Simpson 2: /* Technologies to study */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Discussion==&lt;br /&gt;
&lt;br /&gt;
There is now a FAQ about the Voyager project [[Voyager FAQ|here]].&lt;br /&gt;
&lt;br /&gt;
This document is already some kind of discussion, you can add your comments in here as well. For real discussion please consult the [[Mailinglists | mailinglist]] &amp;lt;tt&amp;gt;voyager-dev@netlabs.org&amp;lt;/tt&amp;gt;, or use the [http://dir.gmane.org/gmane.org.netlabs.voyager.devel gmane.org web/news interface] to it.&lt;br /&gt;
&lt;br /&gt;
==Documentation==&lt;br /&gt;
===IBM Redbooks===&lt;br /&gt;
* SG24-4630-00 OS/2 Warp (PowerPC Edition) A First Look&lt;br /&gt;
* SG24-4639-00 OS/2 Warp (PowerPC Edition) Graphical Subsystem&lt;br /&gt;
&lt;br /&gt;
We do have the first one digitaly, but not the second one. In case anyone finds that, let us know.&lt;br /&gt;
&lt;br /&gt;
===Darwin Documentation===&lt;br /&gt;
There is plenty of documentation available about Darwin, a good start is [http://developer.apple.com/documentation/Darwin/Kernel-date.html Kernel Programming], which gives a nice overview about the design of the kernel.&lt;br /&gt;
&lt;br /&gt;
* [http://www.kernelthread.com/software/fslogger/ Filechange notification] in Mac OSX &amp;quot;Tiger&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Technologies to study==&lt;br /&gt;
&lt;br /&gt;
*[http://www.opengl.org/ OpenGL], [http://freeglut.sourceforge.net/index.php FreeGLUT], [http://www.mathies.com/cpw/about.html CPW] (Application framework for windows, menus etc.). Here&#039;s a [http://www.mathies.com/cpw/textfiles/Cpw.txt Readme text].&lt;br /&gt;
* [http://www.freedesktop.org/wiki/Software_2fglitz glitz] - OpenGL interface for Cairo, so one could run Cairo directly on OpenGL, see [http://www.freedesktop.org/wiki/Xegl Xegl] for a diagram.&lt;br /&gt;
* [http://www.usenix.org/events/usenix04/tech/freenix/nilsson.html Glitz: Hardware Accelerated Image Compositing Using OpenGL] and as [http://www.cs.umu.se/~c99drn/opengl_freenix04.pdf PDF]&lt;br /&gt;
* [http://dri.freedesktop.org/~jonsmirl/graphics.html The State of Linux Graphics], [http://lwn.net/Articles/149917 comments] and more [http://groups.google.com/group/linux.kernel/browse_frm/thread/c2f4978ce450ed9a/2d8842acb180b581 comments]&lt;br /&gt;
* [http://people.redhat.com/mclasen/Usenix04/notes.pdf Current gtk+ development]- among other topics about cairo integration and a new theme system&lt;br /&gt;
* [http://www.gtk.org/plan/ GTK+ Planning] - a more recent plan of GTK+ development&lt;br /&gt;
* [http://people.freedesktop.org/~ajax/ddc2005.pdf X on GL] states very clearly, what has still to be done&lt;br /&gt;
* [http://www.directfb.org DirectFB] with [http://www.directfb.org/index.php?path=Development/Projects/XDirectFB rootless XServer], [http://www.directfb.org/index.php?path=Development/Projects/DirectFBGL hardware accelerated OpenGL], [http://www.directfb.org/index.php?path=Development/Projects/GTK%2B GTK+ backend], [http://www.directfb.org/index.php/viewcvs.cgi/cairodfb an experimental Cairo backend], Qt backend, DirectVNC, SDL backend&lt;br /&gt;
* [http://enlightenment.org/Main/Home/index.html Enlightenment] and its support libs. Here&#039;s a [http://www.elivecd.org/ Live CD].&lt;br /&gt;
** Why Englightenment? So far I just knew it as a fancy desktop, what makes it special? [[User:Ktk|Ktk]] 15:39, 30 October 2005 (CET)&lt;br /&gt;
** Cinc: it&#039;s more than just a fancy desktop. It offers quite some libs e.g. HW accelerated canvas on top of OpenGL, libs for alphachannel blending of pics, antialiased text, imlib and quite some more.&lt;br /&gt;
* [http://www.gnustep.org/ GNUstep.org]&lt;br /&gt;
* [http://www.opensolaris.org/os/ OpenSolaris]&lt;br /&gt;
* [http://www.ogre3d.org/ Ogre 3D] The open source real time 3D rendering engine - for nice 3D effects on the Voyager desktop&lt;br /&gt;
* [http://slashdot.org/article.pl?sid=05/11/03/1744230&amp;amp;tid=190&amp;amp;tid=109 Microsoft Singularity] - interesting paper by Microsoft about a concept study of a new OS&lt;br /&gt;
* [http://arstechnica.com/reviews/os/macosx-10.4.ars/13 Quartz and Quartz extreme], nice article giving an overview&lt;br /&gt;
* [http://klik.atekon.de/ Klik]: application bundles for KDE.&lt;br /&gt;
* More about application bundles: [http://mozart.chat.net/~jeske/unsolicitedDave/app_wrappers_yet_again.html http://mozart.chat.net/~jeske/unsolicitedDave/app_wrappers_yet_again.html], [http://mozart.chat.net/~jeske/unsolicitedDave/next_wrapper_description.html http://mozart.chat.net/~jeske/unsolicitedDave/next_wrapper_description.html], [http://mozart.chat.net/~jeske/unsolicitedDave/kde_encap_ideas.html http://mozart.chat.net/~jeske/unsolicitedDave/kde_encap_ideas.html]&lt;br /&gt;
* [http://rox.sourceforge.net/phpwiki/index.php/HomePage Rox] a quite nice desktop environment with features we also seek to implement&lt;br /&gt;
* [http://www.symphonyos.com/ Symphony OS] - a desktop in XUL. We should integrate XUL as good as possible with Firefox&lt;br /&gt;
* [http://www.eyeos.org/ eyeOS] - web based OS&lt;br /&gt;
* [http://www.novell.com/linux/xglrelease/ Novell &amp;amp; Xgl] - some stuff Novell did for Xgl&lt;br /&gt;
* [http://wiki.x.org/wiki/XDevConf X Developer Conference] - some slides about the latest one, interesting stuff there!&lt;br /&gt;
* [http://chabada.sk/better-desktop/ 40+ Suggestions for a Better Desktop]&lt;br /&gt;
* [http://www.tango-project.org The Tango Desktop Project] - exists to help create a consistent graphical user interface experience for free and Open Source software.&lt;br /&gt;
&lt;br /&gt;
===Kernels===&lt;br /&gt;
* http://haiku-os.org - OpenBeOS successor&lt;br /&gt;
&lt;br /&gt;
== Design Decisions ==&lt;br /&gt;
Creating a binary compatible OS/2 clone may be tempting but is not strictly necessary. Important is the user experience. Which toolkit should be used for primary development?&lt;br /&gt;
&lt;br /&gt;
===Graphics Drivers===&lt;br /&gt;
* [http://x.org X11]&lt;br /&gt;
* [http://www.khronos.org/opengles OpenGL ES] (an OpenGL only desktop without X!)&lt;br /&gt;
* [http://directfb.org DirectFB]&lt;br /&gt;
* [http://www.scitechsoft.com/products/ent/snap_linux.html SciTech Snap Graphics]&lt;br /&gt;
&lt;br /&gt;
These graphics engines can be emulated vice-versa: You can run X11, OpenGL, and DirectFB programs on the same graphics driver.&lt;br /&gt;
We should have a look at HW support when chosing the driver system. For example I&#039;ve read OpenGL drivers are not that common&lt;br /&gt;
(often they&#039;re not HW accelerated). A viable idea may be to just use OpenGL as the core API on top of something else. There&#039;re quite a lot OpenGL implementations&lt;br /&gt;
running on different low level drivers or even Mesa.&lt;br /&gt;
&lt;br /&gt;
===2D API===&lt;br /&gt;
* [http://cairographics.org Cairo]. Cairo has a PDF-like engine which seems to be inspired by Quartz of MacOS X.&lt;br /&gt;
* Cairo runs on almost everything, including OS/2 and X but also directly on OpenGL hardware with Glitz. So one could use it as a complete GPI replacement without the need of X one day.&lt;br /&gt;
* To make things easier 24Bit screens should be the primary target. Hell it&#039;s 2005 today...&lt;br /&gt;
&lt;br /&gt;
It seems there are many possiblities here!&lt;br /&gt;
* [http://www.ggi-project.org General Graphics Interface]&lt;br /&gt;
* [http://www.cairographics.org Cairo] (used by GTK+)&lt;br /&gt;
* [http://www.enlightenment.org/Libraries/Evas Evas] (used by Enlightenment)&lt;br /&gt;
* [http://www.levien.com/libart libart] (used by Gnome)&lt;br /&gt;
* [http://antigrain.com Anti-Grain Geometry]&lt;br /&gt;
* [http://www.libsdl.org Simple DirectMedia Layer]&lt;br /&gt;
* [http://doc.trolltech.com/4.0/qt4-arthur.html Arthur] (used by KDE)&lt;br /&gt;
&lt;br /&gt;
We will have to use more than one. KDE programs use Arthur, GTK+ ones use Cairo, and so on ...&lt;br /&gt;
These libraries are (mostly) used for display and printing. So we won&#039;t have a consistent graphical subsystem with this multitude.&lt;br /&gt;
&lt;br /&gt;
All these libraries have several backends, e.g. X11, DirectFB, OpenGL, OS/2, ...&lt;br /&gt;
&lt;br /&gt;
Even if we do have to use more than one we should focus on a library that is widly supported, at the moment my impression is that Cairo will win the race. Mozilla is using it for new versions, OOo will use it and GTK+ is migrating into it as well. Also projects like Glitz will dramatically speedup the rendering in the Cairo engine. See some [http://www.osnews.com/story.php?news_id=9609 comments] of one of the GTK+ developers.&lt;br /&gt;
&lt;br /&gt;
===Input Handling and Event Queue===&lt;br /&gt;
Between the 2D API and the window manager one layer is missing&lt;br /&gt;
* that cares for user input by mouse, keyboard, ...&lt;br /&gt;
* that knows the basics about windows and controls their behaviour (A window manager only modifies this behaviour!)&lt;br /&gt;
* a Session manager that manages the processes which want do to screen output&lt;br /&gt;
* a message architecture that connects everything and enables inter-client communication&lt;br /&gt;
&lt;br /&gt;
Questions:&lt;br /&gt;
* Should we choose X for that? Quasi-standard, but old&lt;br /&gt;
* modify existing(?) systems&lt;br /&gt;
* port Presentation Manager -&amp;gt; access to source code needed&lt;br /&gt;
* code that ourselves?&lt;br /&gt;
&lt;br /&gt;
* [http://xynth.org xynth] might be an option&lt;br /&gt;
&lt;br /&gt;
=== Window Manager ===&lt;br /&gt;
To manage the windows we need some sort of window manager. So far most implementations are done for X, we need to abstract that directly on Cairo.&lt;br /&gt;
&lt;br /&gt;
* [http://www.freedesktop.org/Standards/wm-spec Window Manager Specification Project]&lt;br /&gt;
* [http://tronche.com/gui/x/icccm/ Inter-Client Communication Conventions Manual] - Support this standard in order to let X applications run&lt;br /&gt;
* [http://www.freedesktop.org/wiki/Software_2fwaimea Waimea] - WM which is using Cairo for all rendering, they write it&#039;s for X so one would have to check if this can be separated from X as well.&lt;br /&gt;
&lt;br /&gt;
==== Ideas for a new Window Manager ====&lt;br /&gt;
What features should a new windows manager have?&lt;br /&gt;
&lt;br /&gt;
Cinc: Obviously these ideas are inspired by stuff usually found on X. The WM needed for this project isn&#039;t the kind of&lt;br /&gt;
WM X uses. I think WM is the wrong word for it anyway. What&#039;s needed is primarily a compositing engine which is in charge&lt;br /&gt;
of allocating surfaces, giving them to the app, the app draws into them and the compositor puts it on the screen.&lt;br /&gt;
Input support is probably needed for this layer, too, so the compositor may move and stack windows correctly.&lt;br /&gt;
The final appearance of the graphics drawn on the surfacces is up to the applications not the compositor. It must be&lt;br /&gt;
that way IMHO because no compositor coder can imagine what app developer will finally do with a given infrastructure.&lt;br /&gt;
E.g. creating close, maximize etc. widgets in the compositor/WM effectively prevents the application developer from&lt;br /&gt;
adding his own widgets or removing the given one. OTOH if there&#039;s a documented way to tinker with (per window) then it&#039;s ok.&lt;br /&gt;
&lt;br /&gt;
The compositor/WM should be inspired by the Presentation manager (PM) found in OS/2. Granted it&#039;s old technology it&#039;s&lt;br /&gt;
unbelievable flexible. It&#039;s possible for the coder to alter the handling of every window/widget by subclassing the window procedures&lt;br /&gt;
provided by the system. For example the information area found in [http://www.os2world.com/cdwriting WPS-wizard] uses&lt;br /&gt;
this feature. PM is directed to order all the window areas differently (titlebar, close/maximize, client area) to give room for the&lt;br /&gt;
information area. The coders of PM never thought about the possibility to add such informations to windows back when they&lt;br /&gt;
did PM. It&#039;s not a hack and there&#039;s no need to change any WM code to get this to work.&lt;br /&gt;
&lt;br /&gt;
Lexip: What about the common look and feel of all the headers of the client windows? I&#039;d like to have a common theme for example, and all apps should have a header (with a little icon, and the close/minimize/... buttons) that paints according to that theme file. &lt;br /&gt;
&lt;br /&gt;
Cinc: ACK. What I mean is the WM should not restrict the developer from adding/removing widgets, from modifying the way how things are done for a particular window (e.g. positioning of widgets). This also applies on how things are painted. If the developer decides to remove all widgets and use an ugly custom theme (which is bad) he should be free to do so.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Main Features =====&lt;br /&gt;
* Built i18n (internationoalization)&lt;br /&gt;
* .prestartup and .poststartup files&lt;br /&gt;
* Multiscreen support (with possibility of virtual desktops 1 being on physical screen 1, while having virtual desktop 4 on screen 2)&lt;br /&gt;
** Preview of desktop X on desktop Y. Like you have one desktop with the presentation on desktop X and on desktop Y (your main display for example) you see a resizable preview so you could have your script on the main display and still step through the slides&lt;br /&gt;
* Anti aliasing&lt;br /&gt;
* Virtual desktops (different layouts and number of desktops - 4x2, 3x3, ...)&lt;br /&gt;
* Storing sessions. Cinc: not sure the WM should do that&lt;br /&gt;
* 100% ewmh complient. Cinc: ???? if this is some X thingie it&#039;s probably not needed -&amp;gt; Lexip: yeah, it&#039;s X stuff, but if we want to support starting Xapps, and we should do that, then we gotta be ewmh complient with our WM/compositor&lt;br /&gt;
* Large desktops (scrolling and paging)&lt;br /&gt;
* Themes with possibility of associating a background image or pattern (i.e. blackbox)&lt;br /&gt;
&lt;br /&gt;
===== Client Window Features =====&lt;br /&gt;
* Client window header can be top/bottom/right/left (with vertical text if necessary).&lt;br /&gt;
* Window manager keeps track of stacking order of all client windows&lt;br /&gt;
* Sticky windows - Possibility to show clients on all or few or just one virtual desktop&lt;br /&gt;
* Virtual desktops with resolutions different from the physical screen resolution.&lt;br /&gt;
* Ability to display multiple virtual desktops on one physical screen.&lt;br /&gt;
* Maximization:&lt;br /&gt;
** Maximize to given area&lt;br /&gt;
** Maximize to actual screen&lt;br /&gt;
** Maximize to more than one screen&lt;br /&gt;
** Maximize vertically only&lt;br /&gt;
** Maximize horizontally only&lt;br /&gt;
* Clients can influence their states:&lt;br /&gt;
** Maximized&lt;br /&gt;
** Stacking order&lt;br /&gt;
** Shading&lt;br /&gt;
** Stickiness&lt;br /&gt;
** Desktop(s)&lt;br /&gt;
* Window in Window handling for MDI applications&lt;br /&gt;
* Edge snapping while move- resizing a client window&lt;br /&gt;
* Client window shading&lt;br /&gt;
* Store client window properties per application (size, position, etc)&lt;br /&gt;
* Client window can drop shadow&lt;br /&gt;
* Application icons in client window headers&lt;br /&gt;
* Different focus models (click to focus, focus follows mouse, ...)&lt;br /&gt;
&lt;br /&gt;
===== Docking Area Features =====&lt;br /&gt;
* Allow having multiple docking areas&lt;br /&gt;
* Docking areas can be hid (approaching mouse makes them appeare)&lt;br /&gt;
* Transparency&lt;br /&gt;
* Drop shadow&lt;br /&gt;
&lt;br /&gt;
Cinc: The WM should not be in charge of this. The Dock (or whatever) is just an application and should be treated as one.&lt;br /&gt;
&lt;br /&gt;
Lexip: question again about the theme. If the WM/compositor is not in charge of the docker, how can we set a common theme to it?&lt;br /&gt;
&lt;br /&gt;
Cinc: The WM/OS should provide the default bitmaps for it (or better any app) which can be queried by the app. Changing the theme will automatically change these BMPs. For buttons and alike the OS should provide a default drawing function which will ensure every app which uses the default automatically has a similar look and feel.&lt;br /&gt;
&lt;br /&gt;
===== Menu Features =====&lt;br /&gt;
* Dynamically filled menus (piped menus). Cinc: That&#039;s mostly up to the application IMHO with the exception of system menus.&lt;br /&gt;
* Menu configuration can be separated over several files, i.e. one file for each submenu section&lt;br /&gt;
* All the submenues can be called separatly (by key combination for example)&lt;br /&gt;
* Dockable menues (like blackbox)&lt;br /&gt;
* Transparency&lt;br /&gt;
* Drop shadow&lt;br /&gt;
* Icons for entries&lt;br /&gt;
&lt;br /&gt;
Cinc: I think the WM/compositor should only provide the infrastructure to show menus. The final appearance/usability is up to the app.&lt;br /&gt;
&lt;br /&gt;
Lexip: Here I&#039;m talking about the system menu. The menu where you can start all you apps, or anything that you&#039;d like to have in a menu. System menu is startable by right clicking on an empty spot on the background, or by keying-in some keyboard combination.&lt;br /&gt;
&lt;br /&gt;
Cinc: IMHO such a system menu also should be a dedicated app (so it is replacable without tinkering with the WM). This app monitors the input queue and reacts when the configured message arrives (keyboard/mouse/whatever). Or alternatively the WM sends a message to tell this app to show the menu .&lt;br /&gt;
&lt;br /&gt;
===== Configuration Features =====&lt;br /&gt;
* Configuration changes take effect withou restarting the wm&lt;br /&gt;
* Every single command is configurable to hava a certain keyboard or mouse click shortcut.&lt;br /&gt;
* Shortcuts are simple keyboard shortcuts (i.e. Ctrl+F1), or so called keychains known from Emacs editor (i.e. Alt+e+x)&lt;br /&gt;
* The wm allows mouse gestures, and keyboard mouse combined input (i.e. ctrl+mouse1 click, etc.)&lt;br /&gt;
* Single, double, or even tripple clicks call different actions (attention with patent from M$ in USA)&lt;br /&gt;
* Clicking the client window header is a different action than clicking the clients body for example. Cinc: can easily be done by treating those two as two coupled windows.&lt;br /&gt;
&lt;br /&gt;
===== Extensibility =====&lt;br /&gt;
* Programming interface (every single command can be called from outside).&lt;br /&gt;
* Allow writing modules and applications that interact with the wm. Cinc: ah ok, addresses some of my concerns from above&lt;br /&gt;
&lt;br /&gt;
===== Other =====&lt;br /&gt;
* Ability to play (opengl) games in fullscreen on virtual desktops instead of physical screens. (Today, if a game goes fullscreen, it&#039;ll either spread over all physical screens or the other screens are switched off... which is not nice if you would like to have the server stats/a map/whatever on the secondary screen).&lt;br /&gt;
&lt;br /&gt;
Lexip: that sounds as a nice idea to me. we gotta do that&lt;br /&gt;
&lt;br /&gt;
==== Started development on Neptune ====&lt;br /&gt;
I started the development of the window manager. The project is called &#039;&#039;&#039;neptune&#039;&#039;&#039;, since this planet is one of those being observed by NASA&#039;s initial Voyager I mission.&lt;br /&gt;
Currently I&#039;m developing under XOrg, and have the physical screens simulated by several Cairo Surfaces (the whole window manager will be based on the multi screen design).&lt;br /&gt;
Neptune has a to early state to publish anything. Currently I&#039;m just experimenting with different architecture approaches, and am trying to figure out the best way to implement the multiscreen handling.&lt;br /&gt;
Once everything is done, it should be easy to &amp;quot;port&amp;quot; it to run without the X server, since all the painting is done through cairo. So it should be a matter of having glitz using a framebuffer GL backend instaed of the glx.&lt;br /&gt;
&lt;br /&gt;
=== CMD ===&lt;br /&gt;
&lt;br /&gt;
* full capabilities of current CMD.EXE concerning&lt;br /&gt;
** usage of system messages and error codes&lt;br /&gt;
** nested io redirection&lt;br /&gt;
** grouping commands with round brackets&lt;br /&gt;
** &amp;amp;, &amp;amp;&amp;amp; |, and || operators&lt;br /&gt;
** correct wildcard matching for files with multiple extensions&lt;br /&gt;
** PROMPT command&lt;br /&gt;
** keep UPPERCASE environment variable names only ! (unlike 32-bit Command Interpreter from Jonathan de Boyne Pollard)&lt;br /&gt;
* proper implementation of EXTPROC command (fix errors with exptproc scripts not residing in current &lt;br /&gt;
directory)&lt;br /&gt;
* new general features&lt;br /&gt;
** support extended command set of Win NT CMD.EXE &lt;br /&gt;
*** at least include string functions with extended SET command&lt;br /&gt;
** extend IF clause with new conditions&lt;br /&gt;
*** os version match&lt;br /&gt;
*** free space on a drive&lt;br /&gt;
*** is drive removeable&lt;br /&gt;
*** is drive USB mass storage&lt;br /&gt;
*** more ?&lt;br /&gt;
*** easy syncing/unmounting for usb mass storage devices&lt;br /&gt;
** support PATHEXT variable&lt;br /&gt;
*** start files with their associated program&lt;br /&gt;
** automatic environment vars &lt;br /&gt;
*** DATE, DATE_SORTED, TIME, TIME_SORTED, WEEKDAY, DAY, MONTH, YEAR, YEARDAY&lt;br /&gt;
*** CMDLINE, ERRORLEVEL&lt;br /&gt;
*** OS, OSVER&lt;br /&gt;
*** BOOTDRIVE&lt;br /&gt;
** support filename completion&lt;br /&gt;
* new internal or extended commands&lt;br /&gt;
** INITVIOCMD determines a command being executed when initialized as a VIO session&lt;br /&gt;
** INITPMCMD determines a command being executed when initialized as a PM session&lt;br /&gt;
** SET allows to include equal signs in value of environment var&lt;br /&gt;
** SET /P retrieves value of environment var from keyboard&lt;br /&gt;
** SHIFT xx shifts parameter by positive number&lt;br /&gt;
** ECHO /N does not append CRLF to output&lt;br /&gt;
** CDD command changes directory and drive&lt;br /&gt;
** TIMER command starts, stops or displays the value of a timer&lt;br /&gt;
** SLEEP n waits for n secs&lt;br /&gt;
** PAUSE n waits for n secs&lt;br /&gt;
** implement START command with all features of DosStartSession, among others implement&lt;br /&gt;
*** /WAIT (synchronous start)&lt;br /&gt;
*** /NC (NoAutoClose)&lt;br /&gt;
*** /DOS[:settings.dat] (if DOS-Box still available)&lt;br /&gt;
*** /POS:x,y,x1,y1 (initial window position)&lt;br /&gt;
*** /ICON:icon.ico (system menu icon)&lt;br /&gt;
** MOVE files with implicit copy/delete across partitions&lt;br /&gt;
** exlicit UNLOCK command&lt;br /&gt;
** implicit unlock with COPY, DEL, REN, MOVE (very usefull, but also dangerous ?)&lt;br /&gt;
** macro support with ALIAS command&lt;br /&gt;
* new batch handling or batch commands&lt;br /&gt;
** %* specifies all parameters (like %1, %2 etc)&lt;br /&gt;
** in for loops support %%a%f, %%a%p, %%a%d and more for specifying filename, path and driveletter of matching file &lt;br /&gt;
** GOSUB - executes a subroutine&lt;br /&gt;
** RETURN [xx] - exits a batchfile or subroutine [with errorlevel]&lt;br /&gt;
** CANCEL (ends batch processing, but does not close window as EXIT does)&lt;br /&gt;
* Integration of any REXX replacement like with current CMD.EXE&lt;br /&gt;
** call of REXX Scripts with CMD&lt;br /&gt;
** usage of exit handlers&lt;br /&gt;
** manipulation of environment vars within REXX (changes remain after end of script, unless setlocal/endlocal() is called), including BEGINLIBPATH and ENDLIBPATH&lt;br /&gt;
** readonly access to the LIBPATH value as an environment variable&lt;br /&gt;
&lt;br /&gt;
=== MM ===&lt;br /&gt;
* The concept of IO procedures should be retained at least for file IO and format converting.&lt;br /&gt;
&lt;br /&gt;
===Toolkits===&lt;br /&gt;
&lt;br /&gt;
*GTK+&lt;br /&gt;
*GnuStep (look at Apples programs to see what&#039;s possible. Yes I know Apple uses Cocoa not Gnustep)&lt;br /&gt;
*other?&lt;br /&gt;
&lt;br /&gt;
===SOM===&lt;br /&gt;
&lt;br /&gt;
Dropping SOM for something better? Creating a poor mans SOM kernel isn&#039;t too difficult (Cinc: there&#039;s already a working prototype for the basic functionality).&lt;br /&gt;
&lt;br /&gt;
If SOM is dropped, no binary compatibility for old WPS enhancements is given. This may break a considerable amount of OS/2 apps. This may not be an issue if applications have to be recompiled anyway for a new plattform. Cinc: I don&#039;t see many OS/2-apps which are worth to be supported no matter how much work it needs. Binary compatibility is out&lt;br /&gt;
of sight IMHO. Nobody really needs it (anyone really using OD nowadays?).&lt;br /&gt;
&lt;br /&gt;
Cinc: Note for those with reading (well more with comprehension problems): I&#039;m talking here about SOM and WPS programs, &#039;&#039;&#039;not&#039;&#039;&#039; OS/2 programs in general (maybe someone noticed the headline which says &amp;quot;SOM&amp;quot;). Anyone knows any widespread commercial WPS extension except ObjectDesktop??? I don&#039;t. I don&#039;t  believe it&#039;s worth to support the almost not existant WPS integration of StarOffice5.xx. Geez, that thing is from the computer stoneage now. So before whining about missing WPS binary compatibility first try to find something needing it...&lt;br /&gt;
The remaining critics are invited to add binary compatibility if they want it. Nobody will hinder them. Quite the opposite, the toolkit comes with every eCS so just join the effort.&lt;br /&gt;
&lt;br /&gt;
=== Desktop (WPS) ===&lt;br /&gt;
&lt;br /&gt;
* The WPS should be designed with REXX scriptability in mind (like WPS-wizard addon)&lt;br /&gt;
&lt;br /&gt;
Work is in progress. See the [[desktop]] page.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Don&#039;t use the linked page for discussion. If you want to discuss use this section or the discussion page (hey that&#039;s what it was made for).&lt;br /&gt;
&lt;br /&gt;
==== Spirit and Purpose of the WPS ====&lt;br /&gt;
The WPS only shows those parts of the computer system you have to deal with as a user.&lt;br /&gt;
&lt;br /&gt;
Its objects are taken from the user&#039;s world of experience. The implementation details are hidden.&lt;br /&gt;
&lt;br /&gt;
It is very intuitive to use. A Graphical GUI shows you, what is possible to do and what not. (Unlike a command line! The unix shell TAB key is a notable exception. But generally this can easier shown with graphics.)&lt;br /&gt;
&lt;br /&gt;
The WPS is only for the user! Programs have DLLs and APIs of their own. (If not, then there is something missing on the system.)&lt;br /&gt;
&lt;br /&gt;
Some WPS objects show or represent system details. That is, because daily administration tasks can also be regarded as &amp;quot;usage&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Security ====&lt;br /&gt;
&lt;br /&gt;
Security should be a concern when creating the desktop application. GTK isn&#039;t secure by design so the desktop won&#039;t be either. Nevertheless we shouldn&#039;t open additional holes. The concept of the desktop allows arbitrary class and method replacement. So trojans can do whatever they want with it when they manage to get into the desktop app.&lt;br /&gt;
&lt;br /&gt;
Ideas:&lt;br /&gt;
&lt;br /&gt;
* Only allow signed/hashed classes to be loaded&lt;br /&gt;
* Maybe require that every author uses GnuPG to sign his/her class&lt;br /&gt;
* User has to allow loading any additional classes once&lt;br /&gt;
* &amp;quot;Save&amp;quot; classes will be listed in the users save class list&lt;br /&gt;
* The save class list is signed (GnuPG) to prevent altering&lt;br /&gt;
&lt;br /&gt;
Is this sufficient?&lt;br /&gt;
&lt;br /&gt;
=== REXX ===&lt;br /&gt;
* REXX should be implemented like AppleScript so controlling of applications from other apps is possible (commands not tied to one process).&lt;br /&gt;
* [http://regina-rexx.sourceforge.net/ Regina] may be used as an interpreter.&lt;br /&gt;
* any REXX replacement should implement the following&lt;br /&gt;
** true CMD integration like under OS/2&lt;br /&gt;
*** access to environment vars of the calling interpreter. Cinc: ???&lt;br /&gt;
** support of the full REXX C API or an equivalent concept (macro space control, app handlers, WPS object access API etc). Most of this is supported by Regina AFAIK.&lt;br /&gt;
** complete reimplementation of REXXUTIL ! I seem to remember having seen such a project for Windows and Unix.&lt;br /&gt;
* It should be possible to write GUI based apps with REXX, a bit [http://www.edm2.com/0601/drdialog.html Dr.Dialog] like&lt;br /&gt;
&lt;br /&gt;
=== Network Transparency ===&lt;br /&gt;
It would be cool to execute applications remotely.&lt;br /&gt;
&lt;br /&gt;
What we don&#039;t want is a distributed operating system like Amoeba or Inferno.&lt;br /&gt;
&lt;br /&gt;
The network transport would be inside Cairo or between Cairo and OpenGL.&lt;br /&gt;
(Above Cairo makes no sense, because Cairo can also manipulate memory-stored images; below OpenGL is too much data overhead.)&lt;br /&gt;
&lt;br /&gt;
When a user runs an application remotely, he wants to access devices on the client and the server. Examples for devices are&lt;br /&gt;
* printers&lt;br /&gt;
* mice, keyboard&lt;br /&gt;
* audio&lt;br /&gt;
* screens&lt;br /&gt;
* hard disks&lt;br /&gt;
* USB attached devices&lt;br /&gt;
* DVD burners&lt;br /&gt;
&lt;br /&gt;
We need some kind of abstraction layer. It would be nice, if everything can be controlled by WPS objects:&lt;br /&gt;
* drag application on computer -&amp;gt; application gets executed there&lt;br /&gt;
* double-click (or also drag&#039;n&#039;drop) keyboard object -&amp;gt; this keyboard works for my console session&lt;br /&gt;
&lt;br /&gt;
=== Backward Compatibility ===&lt;br /&gt;
The question about backward compatibility is indeed a good one, it&#039;s risky to break with the current OS/2 API for religious reasons but one should have a look at that more from a technical point of view. The OS/2 API is not really modern anymore, programming directly on PM is much more work than using a modern toolkit like GTK+.&lt;br /&gt;
&lt;br /&gt;
At the moment it&#039;s unfortunately unlikely that PM and WPS source get released by IBM.&lt;br /&gt;
&lt;br /&gt;
Options:&lt;br /&gt;
&lt;br /&gt;
* implement parts of PM and GPI on top of the new 2D API and try to integrate it with the toolkit choosen (same look &amp;amp; feel, clipboard support, D&amp;amp;D, etc. That&#039;s a lot of work, the question is if this is really necessary. We would have to do the same for supporting other toolkits like qt (which is a requirement). &lt;br /&gt;
* Implement only some crucial parts to ease source code migration. For example message queues, concept of object windows (often used to comunicate with background threads).&lt;br /&gt;
* Map often used PM-functions to counterparts of the chosen toolkit.&lt;br /&gt;
* Use a VM and run OS/2 or eCS inside the VM. There are very promising opensource VMs like&lt;br /&gt;
** [http://www.cl.cam.ac.uk/Research/SRG/netos/xen/ XEN]&lt;br /&gt;
** [http://fabrice.bellard.free.fr/qemu/ QEMU]&lt;br /&gt;
&lt;br /&gt;
XEN seems to be the most promising one at the moment because it will support dual core CPUs in the future so one can run the guest OS on a separate CPU core. So far one had to alter the guest OS in sourcecode but that changes at the moment because they integrate parts of QEMU sourcecode inside XEN to emulate those parts (memory allocation and such stuff).&lt;br /&gt;
&lt;br /&gt;
== Stuff ==&lt;br /&gt;
* With the advance of virtualization technologies like XEN, Vanderpool and multicore cpus it becomes more and more common to have a second, virtual computer running in a VM. It should be possible to map the virtual screen of the VM to a physically existing display. (The idea is to give the user the feeling that he actually has two different computers (with a shared set of input devices). It might even be possible to add another set of input devices, so that two users could work on one computer. (one or maybe even both using an emulated computer...)&lt;br /&gt;
&lt;br /&gt;
Lexip: I think this should be no problem, since the WM will feature virtual desktops, which can be placed on any physical screen. Thus, if one places the virtual desktop holding the VM on a physical screen, you have what you want to. It will even be possible to split screens, and let several virtual desktops share one screen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [http://herpolhode.com/rob/ugly.pdf What&#039;s bad about Unix]. Nice reading&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Plan_9_(operating_system) Plan 9]. The system the author of the reading above advocates to some degree. Not compatible enough, but interesting concepts.&lt;br /&gt;
&lt;br /&gt;
== Questions==&lt;br /&gt;
* the Xegl diagram mentioned above only shows the path of the graphics; the path of e.g. mouse and keyboard input is missing; that&#039;s not as trivial as it sounds (it has been [http://lwn.net/Articles/149783 missing in Xegl], when that was stopped); will we use OS/2-like driver model or wait for x.org 7.0 (currently RC1!) and take out the input system from there? Other sources (hotplug, ...)?&lt;br /&gt;
* one good thing about OS/2 are the fast interactions when you click somewhere, like opening a folder or getting the focus on a window. Why is that like this? We should try to keep that stuff fast.&lt;br /&gt;
** I think the problem of current user interfaces is that they have a lot data dependencies. This increases the response time as they often have to wait for the data to become available before they can start to draw. Data dependencies mostly stem from an overdose of flexibility (I&#039;m talking windows xp now).&lt;br /&gt;
*** XP&#039;s start menu: it is based on the directory structure in the startmenu folder. So in order to draw the menu it has to read from the hard disk several times as it needs to find out the structure and load the icons of the programs (they are mostly cached after the first time).&lt;br /&gt;
*** Drive windows, where the window needs to gather/update the drive information before it can be drawn the first time.&lt;br /&gt;
*** Explorer windows that display extended file info (eg id3 tags of mp3s) need to parse the files first. (in xp a corrupt media file can block the explorer, before you even get the chance to touch it)&lt;br /&gt;
&lt;br /&gt;
Short:&lt;br /&gt;
  Eyecandy and advanced/unnecessary features (even when switched off) waste cpu time.&lt;br /&gt;
&lt;br /&gt;
* do we want the traditional window manager&amp;lt;-&amp;gt;application scheme? With the Gnome/KDE interfaces? Then we are deep in X again ...&lt;br /&gt;
** the question is if we can incooperate the WM functionality in GTK somehow. As far as I remember [http://fresco.org/ Fresco] implemented GTK API as well so one might have a look at that.&lt;br /&gt;
** IMO GTK runs on top of a WM. The WM just gives GTK a surface to work with but manages where on screen this surface will be painted. Even OS/2 has something like a WM managing the windows for us.&lt;br /&gt;
&lt;br /&gt;
* As soon as we further expand the usage of WPS objects, the templates folder will grow and likewise the number of possible interactions and combinations of objects.&lt;br /&gt;
** How can the objects be sorted or structured so that the template folder won&#039;t scare of casual users? Answer: Just use the means of the WPS to do so. Override the right methods and use your programming brain. It&#039;s all documented int the WPS Programming Reference.&lt;br /&gt;
** How can we tell the users about interactions?&lt;br /&gt;
*** Example Drag&#039;n&#039;Drop: When the user starts dragging, display possible targets with arrows, colors, or other marks?&lt;br /&gt;
&lt;br /&gt;
Or even let the objects come out of their hiding place, if they are not visible on the screen or in subfolders?&lt;br /&gt;
*** Example Creating of structures: XWorkplace has &amp;quot;Create new&amp;quot; in the context menu with the entries &amp;quot;Data File&amp;quot;, &amp;quot;Folder&amp;quot;, &amp;quot;Url Folder&amp;quot;, &amp;quot;Program Object&amp;quot; as standard. The idea is good, but can be better. Take a strategy game you don&#039;t know and build up a base very fast. Now let an OS/2 newbie do the same with OS/2 objects. It is much more complicated. There is no way to see what objects fit into each other and you have to know that there is a templates folder and there is a system setup folder with palettes and themes. You could sum up these sentences as the demand for &amp;quot;Feedback for the Users&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Implementation ==&lt;br /&gt;
You will find links to pages with some beef here later on. While the Voyager page is mainly for discussion and brainstorming the following pages go into detail and present the actual design decisions, roadmaps etc.&lt;br /&gt;
&lt;br /&gt;
* Information about the [[desktop]] development.&lt;br /&gt;
&lt;br /&gt;
== Press coverage ==&lt;br /&gt;
We slowly start to get some press:&lt;br /&gt;
&lt;br /&gt;
* [http://slashdot.org/article.pl?sid=06/02/17/1423225  Slashdot - Keeping the OS/2 Flame Alive]&lt;br /&gt;
* [http://software.newsforge.com/software/06/01/30/192226.shtml?tid=150&amp;amp;tid=132&amp;amp;tid=16 And the original at Newsforge]&lt;/div&gt;</summary>
		<author><name>Simpson 2</name></author>
	</entry>
	<entry>
		<id>https://wiki.netlabs.org/index.php?title=Xmltools&amp;diff=3879</id>
		<title>Xmltools</title>
		<link rel="alternate" type="text/html" href="https://wiki.netlabs.org/index.php?title=Xmltools&amp;diff=3879"/>
		<updated>2006-03-26T10:33:23Z</updated>

		<summary type="html">&lt;p&gt;Simpson 2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== XML Tools available on netlabs ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
this page is intended to give a list of XML tools available at netlabs, and a description on how to build these libraries, since most of them come from the unix world.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== xmlsoft.org Libraries ( libxml2, libxslt and libexslt ) ==&lt;br /&gt;
&lt;br /&gt;
Tools needed:&lt;br /&gt;
- GCC 3.5.5&lt;br /&gt;
- Libc 0.6.1&lt;br /&gt;
- Make 3.81&lt;br /&gt;
- Unix like shell&lt;/div&gt;</summary>
		<author><name>Simpson 2</name></author>
	</entry>
	<entry>
		<id>https://wiki.netlabs.org/index.php?title=User:Simpson_2&amp;diff=2412</id>
		<title>User:Simpson 2</title>
		<link rel="alternate" type="text/html" href="https://wiki.netlabs.org/index.php?title=User:Simpson_2&amp;diff=2412"/>
		<updated>2005-08-29T08:35:18Z</updated>

		<summary type="html">&lt;p&gt;Simpson 2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Bart van Leeuwen&lt;br /&gt;
&lt;br /&gt;
blah&lt;/div&gt;</summary>
		<author><name>Simpson 2</name></author>
	</entry>
	<entry>
		<id>https://wiki.netlabs.org/index.php?title=Main_Page&amp;diff=1326</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.netlabs.org/index.php?title=Main_Page&amp;diff=1326"/>
		<updated>2005-04-24T09:02:47Z</updated>

		<summary type="html">&lt;p&gt;Simpson 2: Spam removed&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to the Wiki at netlabs.org. You will find a lot of interesting information about OS/2 and [http://www.ecomstation.com eCS] on this page.&amp;lt;br/&amp;gt;&lt;br /&gt;
If you are interested in joining the &#039;&#039;&#039;community mailinglist&#039;&#039;&#039; please have a look [[Mailinglists | here]]!&lt;br /&gt;
&lt;br /&gt;
== New Logo and Redesign ==&lt;br /&gt;
* [[Redesign]] - The new logo is choosen and a first and hopefully final draft for the new site layout has been created - check it out ;)&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NOTE:&amp;lt;/b&amp;gt; This section should not be extended anymore. We reloaded the [http://www.edm2.com EDM/2 magazine] and we recommend to put all developer stuff in there. This wiki is a mess at the moment and we will clean that up one day and migrate the stuff that makes sense to EDM/2. Thanks!&lt;br /&gt;
&lt;br /&gt;
This section contains hints and tricks and descriptions of undocumented&lt;br /&gt;
stuff. Undocumented means there&#039;s no official documentation or the &lt;br /&gt;
documentation (for example included on DevCon CDs) isn&#039;t available to&lt;br /&gt;
the public anymore. But DON&#039;T JUST COPY any documentation you may have into the Wiki. Keep in mind it&#039;s copyrighted! &lt;br /&gt;
&lt;br /&gt;
* [[Undocumented stuff]]&lt;br /&gt;
* [[Mozilla]] - some stuff regarding building Mozilla on OS/2&lt;br /&gt;
* [http://www.edm2.com/index.php/SDL SDL] - some tips &amp;amp; tricks about how to port applications using SDL to OS/2&lt;br /&gt;
* [http://www.edm2.com/index.php/How_to_program_for_the_WPS WPS] - how to program for the [http://en.wikipedia.org/wiki/Workplace_Shell WPS]. Note: the german Wikipedia may have more information about the WPS. Go [http://de.wikipedia.org/wiki/Workplace_Shell here].&lt;br /&gt;
&lt;br /&gt;
==netlabs.org Community==&lt;br /&gt;
===Resources===&lt;br /&gt;
* [http://www.netlabs.org netlabs.org] itself, the main page :-)&lt;br /&gt;
* [[IRC server settings]] - chat with netlabs.org coders&lt;br /&gt;
* [[Mailinglists]] - support for our projects per mailinglist or news-reader&lt;br /&gt;
&lt;br /&gt;
===Developers===&lt;br /&gt;
We also hire a developer at the moment, to show you what he does we provide a small weekly list of his progress on various projects.&lt;br /&gt;
*[[Vladest]]&lt;br /&gt;
*[[Samm]]&lt;br /&gt;
&lt;br /&gt;
===Publicity===&lt;br /&gt;
* [[Presentations]] about netlabs.org (prepared for Warpstock Europe)&lt;br /&gt;
* [[Logos]] in different resolutions, free to use&lt;br /&gt;
&lt;br /&gt;
==OS/2 and eCS resources==&lt;br /&gt;
===Drivers===&lt;br /&gt;
*Visit http://www.os2warp.be if you want to know if your hardware is supported.&lt;br /&gt;
*See a [http://www.ecomstation.it/pido2/home/mircomir/fixpak.php?lang=en driver list] generated from eCSoft/2 database.&lt;br /&gt;
&lt;br /&gt;
===Software===&lt;br /&gt;
For software have a look here:&lt;br /&gt;
&lt;br /&gt;
* http://hobbes.nmsu.edu&lt;br /&gt;
* http://en.ecomstation.ru/apecs.php&lt;br /&gt;
* http://www.ecomstation.it/ecsoft2/&lt;br /&gt;
* http://www.unixos2.org - ported *nix tools. A little bit cumbersome to find stuff there but nevertheless worth the effort&lt;br /&gt;
&lt;br /&gt;
===Programs===&lt;br /&gt;
How to use specific programs, HowTos, FAQs etc.&lt;br /&gt;
&lt;br /&gt;
(nothing yet)&lt;br /&gt;
&lt;br /&gt;
==netlabs.org Servers==&lt;br /&gt;
===ToDo&#039;s &amp;amp; History===&lt;br /&gt;
This is the list of tasks for netlabs.org Webservers &amp;amp; the history of what I (ktk) did&lt;br /&gt;
*[[netlabs.org]]&lt;br /&gt;
&lt;br /&gt;
===Mail account===&lt;br /&gt;
Some information for those who own a mailbox at netlabs.org&lt;br /&gt;
*[[netlabs.org Mailing]]&lt;br /&gt;
&lt;br /&gt;
===Admin Guide===&lt;br /&gt;
So far it&#039;s more or less just me who does all the work on netlabs.org webpages and this somewhat sucks because like this a lot of stuff depends on my lazyness. The following document explains the tasks necessary to create a new project at netlabs.org, including setting up CVS repositories, creating webpages and so on. I hope that I will find some volunteers one day who help me on doing that.&lt;br /&gt;
*[[Admin Guide]]&lt;br /&gt;
&lt;br /&gt;
== What is a Wiki ==&lt;br /&gt;
*If you don&#039;t know the concept of a Wiki yet we recommend you to have a look at the [http://meta.wikipedia.org/wiki/MediaWiki_User%27s_Guide MediaWiki User&#039;s Guide]. &lt;br /&gt;
*If you just want to add some content without much reading read the [http://meta.wikipedia.org/wiki/MediaWiki_User%27s_Guide:_Editing_overview#The_wiki_markup Markup Overview].&lt;br /&gt;
*If you have no clue about Wiki you might first check [http://en.wikipedia.org/wiki/Wikipedia:How_to_edit_a_page how to edit a page].&lt;/div&gt;</summary>
		<author><name>Simpson 2</name></author>
	</entry>
	<entry>
		<id>https://wiki.netlabs.org/index.php?title=Main_Page&amp;diff=1323</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.netlabs.org/index.php?title=Main_Page&amp;diff=1323"/>
		<updated>2005-04-23T08:10:38Z</updated>

		<summary type="html">&lt;p&gt;Simpson 2: Spam removed&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to the Wiki at netlabs.org. You will find a lot of interesting information about OS/2 and [http://www.ecomstation.com eCS] on this page.&amp;lt;br/&amp;gt;&lt;br /&gt;
If you are interested in joining the &#039;&#039;&#039;community mailinglist&#039;&#039;&#039; please have a look [[Mailinglists | here]]!&lt;br /&gt;
&lt;br /&gt;
== Shop ==&lt;br /&gt;
We do have a shop for shirts and more ... [http://shop.netlabs.org shop.netlabs.org]! Prices include a small extra to support netlabs.org&#039;s future... (Does anyone know how to add an image here :-P ?)&lt;br /&gt;
&lt;br /&gt;
== New Logo and Redesign ==&lt;br /&gt;
* [[Redesign]] - The new logo is choosen and a first and hopefully final draft for the new site layout has been created - check it out ;)&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NOTE:&amp;lt;/b&amp;gt; This section should not be extended anymore. We reloaded the [http://www.edm2.com EDM/2 magazine] and we recommend to put all developer stuff in there. This wiki is a mess at the moment and we will clean that up one day and migrate the stuff that makes sense to EDM/2. Thanks!&lt;br /&gt;
&lt;br /&gt;
This section contains hints and tricks and descriptions of undocumented&lt;br /&gt;
stuff. Undocumented means there&#039;s no official documentation or the &lt;br /&gt;
documentation (for example included on DevCon CDs) isn&#039;t available to&lt;br /&gt;
the public anymore. But DON&#039;T JUST COPY any documentation you may have into the Wiki. Keep in mind it&#039;s copyrighted! &lt;br /&gt;
&lt;br /&gt;
* [[Undocumented stuff]]&lt;br /&gt;
* [[Mozilla]] - some stuff regarding building Mozilla on OS/2&lt;br /&gt;
* [http://www.edm2.com/index.php/SDL SDL] - some tips &amp;amp; tricks about how to port applications using SDL to OS/2&lt;br /&gt;
* [http://www.edm2.com/index.php/How_to_program_for_the_WPS WPS] - how to program for the [http://en.wikipedia.org/wiki/Workplace_Shell WPS]. Note: the german Wikipedia may have more information about the WPS. Go [http://de.wikipedia.org/wiki/Workplace_Shell here].&lt;br /&gt;
&lt;br /&gt;
==netlabs.org Community==&lt;br /&gt;
===Resources===&lt;br /&gt;
* [http://www.netlabs.org netlabs.org] itself, the main page :-)&lt;br /&gt;
* [[IRC server settings]] - chat with netlabs.org coders&lt;br /&gt;
* [[Mailinglists]] - support for our projects per mailinglist or news-reader&lt;br /&gt;
&lt;br /&gt;
===Developers===&lt;br /&gt;
We also hire a developer at the moment, to show you what he does we provide a small weekly list of his progress on various projects.&lt;br /&gt;
*[[Vladest]]&lt;br /&gt;
*[[Samm]]&lt;br /&gt;
&lt;br /&gt;
===Publicity===&lt;br /&gt;
* [[Presentations]] about netlabs.org (prepared for Warpstock Europe)&lt;br /&gt;
* [[Logos]] in different resolutions, free to use&lt;br /&gt;
&lt;br /&gt;
==OS/2 and eCS resources==&lt;br /&gt;
===Drivers===&lt;br /&gt;
*Visit http://www.os2warp.be if you want to know if your hardware is supported.&lt;br /&gt;
*See a [http://www.ecomstation.it/pido2/home/mircomir/fixpak.php?lang=en driver list] generated from eCSoft/2 database.&lt;br /&gt;
&lt;br /&gt;
===Software===&lt;br /&gt;
For software have a look here:&lt;br /&gt;
&lt;br /&gt;
* http://hobbes.nmsu.edu&lt;br /&gt;
* http://en.ecomstation.ru/apecs.php&lt;br /&gt;
* http://www.ecomstation.it/ecsoft2/&lt;br /&gt;
* http://www.unixos2.org - ported *nix tools. A little bit cumbersome to find stuff there but nevertheless worth the effort&lt;br /&gt;
&lt;br /&gt;
===Programs===&lt;br /&gt;
How to use specific programs, HowTos, FAQs etc.&lt;br /&gt;
&lt;br /&gt;
(nothing yet)&lt;br /&gt;
&lt;br /&gt;
==netlabs.org Servers==&lt;br /&gt;
===ToDo&#039;s &amp;amp; History===&lt;br /&gt;
This is the list of tasks for netlabs.org Webservers &amp;amp; the history of what I (ktk) did&lt;br /&gt;
*[[netlabs.org]]&lt;br /&gt;
&lt;br /&gt;
===Mail account===&lt;br /&gt;
Some information for those who own a mailbox at netlabs.org&lt;br /&gt;
*[[netlabs.org Mailing]]&lt;br /&gt;
&lt;br /&gt;
===Admin Guide===&lt;br /&gt;
So far it&#039;s more or less just me who does all the work on netlabs.org webpages and this somewhat sucks because like this a lot of stuff depends on my lazyness. The following document explains the tasks necessary to create a new project at netlabs.org, including setting up CVS repositories, creating webpages and so on. I hope that I will find some volunteers one day who help me on doing that.&lt;br /&gt;
*[[Admin Guide]]&lt;br /&gt;
&lt;br /&gt;
== What is a Wiki ==&lt;br /&gt;
*If you don&#039;t know the concept of a Wiki yet we recommend you to have a look at the [http://meta.wikipedia.org/wiki/MediaWiki_User%27s_Guide MediaWiki User&#039;s Guide]. &lt;br /&gt;
*If you just want to add some content without much reading read the [http://meta.wikipedia.org/wiki/MediaWiki_User%27s_Guide:_Editing_overview#The_wiki_markup Markup Overview].&lt;br /&gt;
*If you have no clue about Wiki you might first check [http://en.wikipedia.org/wiki/Wikipedia:How_to_edit_a_page how to edit a page].&lt;/div&gt;</summary>
		<author><name>Simpson 2</name></author>
	</entry>
	<entry>
		<id>https://wiki.netlabs.org/index.php?title=Wpstkvsxwphelpers&amp;diff=1247</id>
		<title>Wpstkvsxwphelpers</title>
		<link rel="alternate" type="text/html" href="https://wiki.netlabs.org/index.php?title=Wpstkvsxwphelpers&amp;diff=1247"/>
		<updated>2005-04-02T15:15:27Z</updated>

		<summary type="html">&lt;p&gt;Simpson 2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== WPSTK vs. xWPHelpers ===&lt;br /&gt;
&lt;br /&gt;
This page is intended to discuss features of xwphelpers to be merged into WPSTK. It is also a place for dicussing shortcommings in XWPhelpers and how we could fix them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== xWPHelper functions not in WPSTK ===&lt;br /&gt;
&lt;br /&gt;
* Container Control helpers, I can&#039;t live without them !&lt;br /&gt;
* Dialog Formater helpers, I takes a bit getting used to, but then they are really handy !&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== xWPHelper implementation problems ===&lt;br /&gt;
&lt;br /&gt;
* NLS code is not using the locale when available [[user:Simpson_2|I&#039;m]] working on this&lt;/div&gt;</summary>
		<author><name>Simpson 2</name></author>
	</entry>
	<entry>
		<id>https://wiki.netlabs.org/index.php?title=User:Simpson_2&amp;diff=1555</id>
		<title>User:Simpson 2</title>
		<link rel="alternate" type="text/html" href="https://wiki.netlabs.org/index.php?title=User:Simpson_2&amp;diff=1555"/>
		<updated>2005-04-02T15:14:53Z</updated>

		<summary type="html">&lt;p&gt;Simpson 2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Bart van Leeuwen&lt;/div&gt;</summary>
		<author><name>Simpson 2</name></author>
	</entry>
	<entry>
		<id>https://wiki.netlabs.org/index.php?title=XWorkplace&amp;diff=1251</id>
		<title>XWorkplace</title>
		<link rel="alternate" type="text/html" href="https://wiki.netlabs.org/index.php?title=XWorkplace&amp;diff=1251"/>
		<updated>2005-03-25T13:03:11Z</updated>

		<summary type="html">&lt;p&gt;Simpson 2: /* XWorkplace: Future plan */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== XWorkplace: Future plan ===&lt;br /&gt;
&lt;br /&gt;
This page is intended to dicsuss future updates or additions to XWP.&lt;br /&gt;
&lt;br /&gt;
* Create a logoff feature, which basicly does everything shutdown does, but afterwards exits the WPS, like with restart WPS, instead of shutting the machine down. This way you could return to a login dialog easily.&lt;br /&gt;
* Finish the font dialog  ( use ft2lib ? )&lt;br /&gt;
* Finish the file dialog, or better fix it, and implement it as discussed in: [[ideas#wps]]&lt;br /&gt;
* Make XWP and WPSWizzard/CWMM/ADC aware of eacht other. Please point out which problems arise when these packages are installed in parallel so we have point for starting discussion ;-).&lt;br /&gt;
* Extend Program object to allow for env variables to be set&lt;br /&gt;
* Add the possibilty to save the application settings &#039;&#039;&#039;once&#039;&#039;&#039;. So you can do your setup like you want it, you logoff once and it will be saved but it won&#039;t save it each time you logoff.&lt;br /&gt;
* Compile against GCC&lt;/div&gt;</summary>
		<author><name>Simpson 2</name></author>
	</entry>
	<entry>
		<id>https://wiki.netlabs.org/index.php?title=XWorkplace&amp;diff=1224</id>
		<title>XWorkplace</title>
		<link rel="alternate" type="text/html" href="https://wiki.netlabs.org/index.php?title=XWorkplace&amp;diff=1224"/>
		<updated>2005-03-24T09:09:41Z</updated>

		<summary type="html">&lt;p&gt;Simpson 2: /* XWorkplace: Future plan */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== XWorkplace: Future plan ===&lt;br /&gt;
&lt;br /&gt;
This page is intended to dicsuss future updates or additions to XWP.&lt;br /&gt;
&lt;br /&gt;
* Create a logoff feature, which basicly does everything shutdown does, but afterwards exits the WPS, like with restart WPS, instead of shutting the machine down. This way you could return to a login dialog easely.&lt;br /&gt;
* Finish the font dialog  ( use ft2lib ? )&lt;br /&gt;
* Finish the file dialog, or better fix it, and implement it as discussed in: [[ideas#wps]]&lt;br /&gt;
* Make XWP and WPSWizzard/CWMM/ADC aware of eacht other.&lt;br /&gt;
* Extend Program object to allow for env variables to be set&lt;/div&gt;</summary>
		<author><name>Simpson 2</name></author>
	</entry>
	<entry>
		<id>https://wiki.netlabs.org/index.php?title=XWorkplace&amp;diff=1223</id>
		<title>XWorkplace</title>
		<link rel="alternate" type="text/html" href="https://wiki.netlabs.org/index.php?title=XWorkplace&amp;diff=1223"/>
		<updated>2005-03-24T09:06:40Z</updated>

		<summary type="html">&lt;p&gt;Simpson 2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== XWorkplace: Future plan ===&lt;br /&gt;
&lt;br /&gt;
This page is intended to dicsuss future updates or additions to XWP.&lt;br /&gt;
&lt;br /&gt;
* Create a logoff feature, which basicly does everything shutdown does, but afterwards exits the WPS, like with restart WPS, instead of shutting the machine down. This way you could return to a login dialog easely.&lt;br /&gt;
* Finish the font dialog  ( use ft2lib ? )&lt;br /&gt;
* Finish the file dialog, or better fix it, and implement it as discussed in: [[ideas#wps]]&lt;br /&gt;
* Make XWP and WPSWizzard/CWMM/ADC aware of eacht other.&lt;/div&gt;</summary>
		<author><name>Simpson 2</name></author>
	</entry>
</feed>