Diff for /wikisrc/projects/code-in.mdwn between versions 1.48 and 1.54

version 1.48, 2013/10/20 23:47:14 version 1.54, 2013/10/21 18:52:41
Line 120  Used tags are (categories are not tagged Line 120  Used tags are (categories are not tagged
   *Tag*: research      *Tag*: research  
   *Tag*: comparison    *Tag*: comparison
   
   * **Task: Illustrate how to use the framebuffer**: NetBSD features a generic framebuffer framework, called wsfb(4). It is already supported by Xorg by the xf86-video-wsfb driver, but it would be nice to investigate other useful ways to use it from userland. This task should illustrate exactly this, explaining and demonstrating how to write pictures on the framebuffer for instance.  
     Note that there is a generic framebuffer implementation for the i386, amd64 and macppc architectures, through the genfb(4) driver; it is known to work on the first two cases with qemu. Some help about how to enable it can be found in boot(8) (see the "vesa" command). Also, some fixes and improvements to the relevant drivers may only be found in NetBSD-current at the moment.  
     *Prerequisites*: C (basic)  
     *Tag*: research  
     *Tag*: howto  
     *Tag*: system
   
 ### Quality Assurance  ### Quality Assurance
   
 * **Task: Research POSIX compliance**: POSIX is the (more or less) standard all Unixes orient on. It describes libraries to use as well as binaries every Unix should have (like cp, mv) and their behavior.  * **Task: Research POSIX compliance**: POSIX is the (more or less) standard all Unixes orient on. It describes libraries to use as well as binaries every Unix should have (like cp, mv) and their behavior.
Line 191  Used tags are (categories are not tagged Line 198  Used tags are (categories are not tagged
 * **Task: Howto: Encrypt the hard disk with NetBSD**: NetBSD has its very nice cryptographic device driver cgd. Apart from being already described in the [guide](http://netbsd.org/docs/guide/en/chap-cgd.html).    * **Task: Howto: Encrypt the hard disk with NetBSD**: NetBSD has its very nice cryptographic device driver cgd. Apart from being already described in the [guide](http://netbsd.org/docs/guide/en/chap-cgd.html).  
   An explicit howto how to do this (in short) and how to do this during the installation, is the issue of this task.      An explicit howto how to do this (in short) and how to do this during the installation, is the issue of this task.  
   Though cgd will be in sysinst for the next version of NetBSD, the current ones are still without, so there should be a special emphasis of how to add cgd during system installation.      Though cgd will be in sysinst for the next version of NetBSD, the current ones are still without, so there should be a special emphasis of how to add cgd during system installation.  
     Note that support for full-disk encryption has been introduced in NetBSD-current, in the form of a ramdisk (cgdroot.kmod). It still lacks official documentation at the moment, but was detailed [on the mailing-lists](http://mail-index.netbsd.org/current-users/2013/03/thread2.html#022311).  
   *Tag*: howto      *Tag*: howto  
   *Tag*: system    *Tag*: system
   
Line 227  Used tags are (categories are not tagged Line 235  Used tags are (categories are not tagged
   *Tag*: howto      *Tag*: howto  
   *Tag*: system      *Tag*: system  
   *Tag*: service      *Tag*: service  
   *Tag*: reserach    *Tag*: research
   
 * **Task: Describe how to use NetBSD as an appliance**: NetBSD is often used for appliances, i.e. a small server serving only one single purpose. Though, there are no howtos describing how to set up a single appliance serving only one cause.    * **Task: Describe how to use NetBSD as an appliance**: NetBSD is often used for appliances, i.e. a small server serving only one single purpose. Though, there are no howtos describing how to set up a single appliance serving only one cause.  
   Though these howtos are targeted at creating a single appliance, they can also be used for other purposes.      Though these howtos are targeted at creating a single appliance, they can also be used for other purposes.  
Line 235  Used tags are (categories are not tagged Line 243  Used tags are (categories are not tagged
   * **router** - NetBSD is very well suited for router appliances and often used for that. There is a special task which is about creating a howto how to configure npf and comparing the different firewall solutions NetBSD offers. This task would rather be about everything around, like the routing part, securing the machine, network management (e.g. for wireless access points), and maybe only one example configuration for the firewall (especially NATting). A good example for an existing appliance is pfSense    * **router** - NetBSD is very well suited for router appliances and often used for that. There is a special task which is about creating a howto how to configure npf and comparing the different firewall solutions NetBSD offers. This task would rather be about everything around, like the routing part, securing the machine, network management (e.g. for wireless access points), and maybe only one example configuration for the firewall (especially NATting). A good example for an existing appliance is pfSense
   * **file server** - NetBSD is also excellent as a file server, may it be either with nfs, smb, http, ftp or ftp over ssh as the transfer protocol. Your task would be to describe the packages which exist in pkgsrc and in NetBSD's base, and choose one special scenario for each protocol and give example configurations of the services. You should also mention RAIDframe, lvm and cgd briefly and what their use cases are. A good example for an existing appliance is FreeNAS or Apple Time Capsule (already running NetBSD).    * **file server** - NetBSD is also excellent as a file server, may it be either with nfs, smb, http, ftp or ftp over ssh as the transfer protocol. Your task would be to describe the packages which exist in pkgsrc and in NetBSD's base, and choose one special scenario for each protocol and give example configurations of the services. You should also mention RAIDframe, lvm and cgd briefly and what their use cases are. A good example for an existing appliance is FreeNAS or Apple Time Capsule (already running NetBSD).
   * **backup server** - though somewhat similar to a file server, a backup server has different requirements. On the one hand, you have to think about how to connect effectively for backups, e.g. with rsync or other special backup protocols. On the other hand, you have to take special care for data integrity and data security. You should also take file system snapshots into account.    * **backup server** - though somewhat similar to a file server, a backup server has different requirements. On the one hand, you have to think about how to connect effectively for backups, e.g. with rsync or other special backup protocols. On the other hand, you have to take special care for data integrity and data security. You should also take file system snapshots into account.
     * **media server** - also similar to a file server, a media server has extra requirements. Some specific protocols may have to be deployed (UPnP/DLNA) and configured to support some client implementations in particular. Additional features, such as video transcoding, will be worth investigating as well.
   
   Every howto for an appliance is considered a single task.      Every howto for an appliance is considered a single task.  
   As a special task, you could also create a shell script that fulfills the steps you mentioned in your howto, such that the user only has to execute this script to get an appliance. The prerequisite is only for this task.      As a special task, you could also create a shell script that fulfills the steps you mentioned in your howto, such that the user only has to execute this script to get an appliance. The prerequisite is only for this task.  
Line 246  Used tags are (categories are not tagged Line 255  Used tags are (categories are not tagged
   *Tag*: system      *Tag*: system  
   *Tag*: network    *Tag*: network
   
 * **Task: Write assembly examples for additional architectures**: there is currently a single assembly example in src/share/examples/asm/hello, for the PowerPC architecture. NetBSD works on many more though; these examples are about illustrating how, at the assembly layer. This task to write basic, functional assembly programs on more architectures; each program is one task. Some architectures may support multiple ABIs, and this should also be investigated and documented while writing each example.  * **Task: Write assembly examples for additional architectures**: there is currently a single assembly example in src/share/examples/asm/hello, for the PowerPC architecture. NetBSD works on many more though; these examples are about illustrating how, at the assembly layer. This task to write basic, functional assembly programs on more architectures; each program is one task. Some architectures may support multiple ABIs, and this should also be investigated and documented while writing each example.  
   Note that "hello", the classic "Hello, world!", is not the only possibility to demonstrate basic assembly on any given architecture; the implementation of other programs can be relevant, provided they illustrate more aspects of assembly coding for the target architecture.    Note that "hello", the classic "Hello, world!", is not the only possibility to demonstrate basic assembly on any given architecture; the implementation of other programs can be relevant, provided they illustrate more aspects of assembly coding for the target architecture.  
   *Prerequisites*: assembly     *Prerequisites*: assembly  
   *Tag*: research     *Tag*: research  
   *Tag*: system    *Tag*: system

Removed from v.1.48  
changed lines
  Added in v.1.54


CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb