googlecodein:2012tasks

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
googlecodein:2012tasks [2012/10/25 04:22] – New task WojciechKoszekgooglecodein:2012tasks [2021/04/26 01:23] (current) – Use MailTo macros. JethroNederhof
Line 9: Line 9:
 Contact channels: Contact channels:
   * IRC: #freebsd-soc @ EFNET   * IRC: #freebsd-soc @ EFNET
-  * Mailing list: freebsd-hackers@ (for helping others, please put "GCIN" as a first word of the Subject)+  * Mailing list: [[freebsd-hackers@FreeBSD.org|freebsd-hackers@]] (for helping others, please put "GCIN" as a first word of the Subject)
  
 Stuff from 2011: Stuff from 2011:
Line 15: Line 15:
  
 Stuff to read: Stuff to read:
-  * **What GCIN is for %%FreeBSD%%??**: [[http://wiki.freebsd.org/action/edit/GoogleCodeIn]]+  * **What GCIN is for %%FreeBSD%%??**: [[/GoogleCodeIn]]
   * **From mentors**: [[http://code.google.com/p/google-code-in/wiki/GCIAdminMentorInformation]]   * **From mentors**: [[http://code.google.com/p/google-code-in/wiki/GCIAdminMentorInformation]]
  
Line 40: Line 40:
 technologies than just "cgi-bin.pl" or "ANSI C", since people with Ruby, technologies than just "cgi-bin.pl" or "ANSI C", since people with Ruby,
 Python or Perl etc.. skillsets are more likely to get attracted. It would Python or Perl etc.. skillsets are more likely to get attracted. It would
-be up to [[/SomeBody|SomeBody]] (tm) to figure out what the project could be and how to+be up to %%SomeBody%% (tm) to figure out what the project could be and how to
 break it down to small tasks. This could let us "steal" people from other break it down to small tasks. This could let us "steal" people from other
 projects. projects.
Line 80: Line 80:
 ---- ----
  
-===== Document /dev =====+===== Static Analysis for Kernel Locking =====
  
-| Category | Code / Documentation |+| Category | Code |
 | Difficulty | medium | | Difficulty | medium |
 | Time limit | 20 | | Time limit | 20 |
-| Mentor | theraven@freebsd.org | +| Mentor | <theraven@freebsd.org> | 
-| Requirements | Documentation for ptmx device node. |+| Requirements | Add static lock order annotations to kernel locking primitives. | 
 + 
 +==== Description of a task ==== 
 + 
 +Clang provides a [[http://clang.llvm.org/docs/LanguageExtensions.html#threadsafety|set of annotations for locking primitives]].  These should be wrapped in macros in cdefs.h so that they are only enabled when compiling with a compiler that supports them and then added to the kernel locking primitives. 
 + 
 +A follow-up task from this would be to begin translating the lock ordering annotations in comments in the kernel into machine-checkable form.  A further follow-up would be to teach the static analyser to understand the output from WITNESS. 
 + 
 +---- 
 + 
 +===== Static Analysis of Kernel Conventions ===== 
 + 
 +| Category | Code / Documentation | 
 +| Difficulty | hard | 
 +| Time limit | 20 | 
 +| Mentor | <theraven@freebsd.org> | 
 +| Requirements | A Clang static analyser plugin checking correct usage of a kernel API. |
  
 ==== Description of a task ==== ==== Description of a task ====
  
-Look at the source of ptmx to find what it does and add a man page documenting it.+There are several conventions in the kernel that ought to be automatically checked.  One simple example is use of the kernel malloc with the M_WAITOK check (which causes malloc to block until it can succeed without returning NULL) followed by a NULL check.  This project would extend the [[http://clang-analyzer.llvm.org|Clang static analyser]] to check this API usage.  If someone has already implemented this check, ask me for more conventions that could be automatically checked.
  
 ---- ----
Line 99: Line 115:
 | Difficulty | hard | | Difficulty | hard |
 | Time limit | 40 | | Time limit | 40 |
-| Mentor | theraven@freebsd.org rdivacky@%%FreeBSD%%.org |+| Mentor | <theraven@freebsd.org> <rdivacky@FreeBSD.org> |
 | Requirements | Benchmarks comparing libc++ to libstdc++ and a list of performance troublespots for libc++ | | Requirements | Benchmarks comparing libc++ to libstdc++ and a list of performance troublespots for libc++ |
  
Line 113: Line 129:
 | Difficulty | medium | | Difficulty | medium |
 | Time limit | 4-16 | | Time limit | 4-16 |
-| Mentor | bcr@%%FreeBSD%%.org |+| Mentor | <bcr@FreeBSD.org> |
 | Requirements | A new subsection in the ZFS chapter of the %%FreeBSD%% handbook explains how to set up a zfs mirror in textual form with some examples (i.e. using programlisting tags). It has to have correctly formatted XML according to our Documentation Primer. | | Requirements | A new subsection in the ZFS chapter of the %%FreeBSD%% handbook explains how to set up a zfs mirror in textual form with some examples (i.e. using programlisting tags). It has to have correctly formatted XML according to our Documentation Primer. |
  
Line 136: Line 152:
 | Difficulty | medium | | Difficulty | medium |
 | Time limit | 6-20 | | Time limit | 6-20 |
-| Mentor | bcr@%%FreeBSD%%.org |+| Mentor | <bcr@FreeBSD.org> |
 | Requirements | A new subsection in the ZFS chapter of the %%FreeBSD%% handbook explains what deduplication is and what the benefits are with some examples (i.e. using programlisting tags). It has to have correctly formatted XML according to our Documentation Primer. | | Requirements | A new subsection in the ZFS chapter of the %%FreeBSD%% handbook explains what deduplication is and what the benefits are with some examples (i.e. using programlisting tags). It has to have correctly formatted XML according to our Documentation Primer. |
  
Line 154: Line 170:
 | Difficulty | medium | | Difficulty | medium |
 | Time limit | 7-14 | | Time limit | 7-14 |
-| Mentor | bcr@freebsd.org eadler@freebsd.org |+| Mentor | <bcr@freebsd.org> <eadler@freebsd.org> |
 | Requirements | The X11 configuration section contains a subsection on how to configure X11 without HAL (with common items to both in a subsection before them) | | Requirements | The X11 configuration section contains a subsection on how to configure X11 without HAL (with common items to both in a subsection before them) |
  
Line 177: Line 193:
 | Difficulty | medium | | Difficulty | medium |
 | Time limit | 10-20 | | Time limit | 10-20 |
-| Mentor | rea@freebsd.org |+| Mentor | <rea@freebsd.org> |
 | Requirements | a new article containing instructions what clang/llvm is and how to use it in %%FreeBSD%% | | Requirements | a new article containing instructions what clang/llvm is and how to use it in %%FreeBSD%% |
  
 ==== Description of task ==== ==== Description of task ====
  
-The %%FreeBSD%% system is moving to replace the GCC (GNU Compiler Collection) with clang/llvm (C language for the low level virtual machine). The following wiki page has an initial writeup of the subject with some instructions on how to use it to compile the %%FreeBSD%% base system: http://wiki.freebsd.org/BuildingFreeBSDWithClang+The %%FreeBSD%% system is moving to replace the GCC (GNU Compiler Collection) with clang/llvm (C language for the low level virtual machine). The following wiki page has an initial writeup of the subject with some instructions on how to use it to compile the %%FreeBSD%% base system: [[/BuildingFreeBSDWithClang]]
 The goal is to create an article which has more detailed instructions based on this wiki page with our official %%FreeBSD%% documentation markup and style applied. The goal is to create an article which has more detailed instructions based on this wiki page with our official %%FreeBSD%% documentation markup and style applied.
  
Line 197: Line 213:
 | Difficulty | easy | | Difficulty | easy |
 | Time limit | 10-25 | | Time limit | 10-25 |
-| Mentor |+| Mentor | <remko@freebsd.org> |
  
 The objective of this task is to create a list of man pages that do not contain this string. The best way to do this is to create a script that can automatically search for that string in a set of files (man pages in this case) passed to it. Your mentor can help you with commands or advice on which programming language to use. But if you don't want to code, you can also do this task manually (or semi-manually), but this will take more time than writing and running a script to produce the list. The objective of this task is to create a list of man pages that do not contain this string. The best way to do this is to create a script that can automatically search for that string in a set of files (man pages in this case) passed to it. Your mentor can help you with commands or advice on which programming language to use. But if you don't want to code, you can also do this task manually (or semi-manually), but this will take more time than writing and running a script to produce the list.
Line 214: Line 230:
 | Difficulty | medium | | Difficulty | medium |
 | Time limit | 8-22 | | Time limit | 8-22 |
-| Mentor | bcr@%%FreeBSD%%.org |+| Mentor | <bcr@FreeBSD.org> |
 | Requirements | A new subsection in the ZFS chapter of the %%FreeBSD%% handbook explains what zfs compression is and what the benefits are with some examples (i.e. using programlisting tags). The subsection 21.2.2.2 ZFS RAID-Z does not contain anything about compression after this. The section has to have correctly formatted XML according to our Documentation Primer. | | Requirements | A new subsection in the ZFS chapter of the %%FreeBSD%% handbook explains what zfs compression is and what the benefits are with some examples (i.e. using programlisting tags). The subsection 21.2.2.2 ZFS RAID-Z does not contain anything about compression after this. The section has to have correctly formatted XML according to our Documentation Primer. |
  
Line 234: Line 250:
 | Difficulty | easy | | Difficulty | easy |
 | Time limit | 4-12 | | Time limit | 4-12 |
-| Mentor | rea@freebsd.org |+| Mentor | <rea@freebsd.org> |
 | Requirements | A new subsection in the ZFS chapter of the %%FreeBSD%% handbook explains what zfs snapshots are and what their benefits are with some examples (i.e. using programlisting tags). The subsection 21.2.2.2 ZFS RAID-Z does not contain anything about snapshots after this. The section has to have correctly formatted XML according to our Documentation Primer. | | Requirements | A new subsection in the ZFS chapter of the %%FreeBSD%% handbook explains what zfs snapshots are and what their benefits are with some examples (i.e. using programlisting tags). The subsection 21.2.2.2 ZFS RAID-Z does not contain anything about snapshots after this. The section has to have correctly formatted XML according to our Documentation Primer. |
  
Line 255: Line 271:
 | Difficulty | medium | | Difficulty | medium |
 | Time limit | 15-25 | | Time limit | 15-25 |
-| Mentor | ''%%ed@freebsd.org%%'' |+| Mentor | ''%%<<MailTo(ed AT freebsd DOT org)>>%%'' |
 | Requirements | The %%FreeBSD%% developers handbook has a new chapter about the details of the new TTY layer, as well as man pages for category 9. | | Requirements | The %%FreeBSD%% developers handbook has a new chapter about the details of the new TTY layer, as well as man pages for category 9. |
  
 ==== Description of task ==== ==== Description of task ====
-The %%FreeBSD%% developers handbook currently has no information about %%FreeBSD%%'s new TTY layer. However, this has been documented in the %%FreeBSD%% wiki on the following page: http://wiki.freebsd.org/TTYRedesign+The %%FreeBSD%% developers handbook currently has no information about %%FreeBSD%%'s new TTY layer. However, this has been documented in the %%FreeBSD%% wiki on the following page: [[/TTYRedesign]]
 The task is to take the relevant information from that wiki page and create a chapter in the developers handbook to describe the new TTY layer. The chapter needs to be correctly formatted and must conform to our documentation source code style guidelines. The task is to take the relevant information from that wiki page and create a chapter in the developers handbook to describe the new TTY layer. The chapter needs to be correctly formatted and must conform to our documentation source code style guidelines.
  
Line 274: Line 290:
 | Difficulty | easy, medium, hard | | Difficulty | easy, medium, hard |
 | Time limit | 4-8 | | Time limit | 4-8 |
-| Mentor | ''%%pgj@freebsd.org%%'' |+| Mentor | ''%%<<MailTo(pgj AT freebsd DOT org)>>%%'' |
 | Requirements | A new section in the filesystems chapter explains the TMPFS filesystem with an example | | Requirements | A new section in the filesystems chapter explains the TMPFS filesystem with an example |
  
 ==== Description of task ==== ==== Description of task ====
  
-The %%FreeBSD%% operating system supports the TMPFS filesystem, which is described on the following %%FreeBSD%% wiki page, but not in the %%FreeBSD%% handbook: http://wiki.freebsd.org/TMPFS+The %%FreeBSD%% operating system supports the TMPFS filesystem, which is described on the following %%FreeBSD%% wiki page, but not in the %%FreeBSD%% handbook: [[/TMPFS]]
 The basics of TMPFS, it's pros and cons must to be explained with an example for /tmp and the procedure of activating/using it must be described in the handbook for our user community. The basics of TMPFS, it's pros and cons must to be explained with an example for /tmp and the procedure of activating/using it must be described in the handbook for our user community.
  
Line 294: Line 310:
 | Difficulty | medium | | Difficulty | medium |
 | Time limit | 8-20 | | Time limit | 8-20 |
-| Mentor | adrian@freebsd.org, freebsd-wireless@freebsd.org |+| Mentor | <adrian@freebsd.org>, <freebsd-wireless@freebsd.org> |
 | Requirements | Basic knowledge of C; An ath(4) 802.11n NIC (non-USB); I can likely help you acquire one. | | Requirements | Basic knowledge of C; An ath(4) 802.11n NIC (non-USB); I can likely help you acquire one. |
  
Line 310: Line 326:
 | Difficulty | medium | | Difficulty | medium |
 | Time limit | 12-23 | | Time limit | 12-23 |
-| Mentor | ''%%uqs@freebsd.org%%'' |+| Mentor | ''%%<<MailTo(uqs AT freebsd DOT org)>>%%'' |
 | Requirements | The %%FreeBSD%% developers handbook will have a new chapter giving information on the use of Mercurial for %%FreeBSD%% daily work as a developer. | | Requirements | The %%FreeBSD%% developers handbook will have a new chapter giving information on the use of Mercurial for %%FreeBSD%% daily work as a developer. |
  
 ==== Description of task ==== ==== Description of task ====
-The Mercurial source code management system can be used to send and retrieve the %%FreeBSD%% project's source code to/from the main repository. To help developers work with Mercurial and the %%FreeBSD%% repository, the following wiki page was created: http://wiki.freebsd.org/LocalMercurial+The Mercurial source code management system can be used to send and retrieve the %%FreeBSD%% project's source code to/from the main repository. To help developers work with Mercurial and the %%FreeBSD%% repository, the following wiki page was created: [[/LocalMercurial|LocalMercurial]]
  
 The contents of this wiki page needs to be converted into the developers handbook as a separate chapter so that all information for developers who want to use Mercurial is present in one place to find. When adding these instructions and examples to the developers handbook, the source code needs to be correctly formatted and must conform to our documentation source code style guidelines. The contents of this wiki page needs to be converted into the developers handbook as a separate chapter so that all information for developers who want to use Mercurial is present in one place to find. When adding these instructions and examples to the developers handbook, the source code needs to be correctly formatted and must conform to our documentation source code style guidelines.
Line 331: Line 347:
 | Difficulty | medium | | Difficulty | medium |
 | Time limit | 12-23 | | Time limit | 12-23 |
-| Mentor | uqs@freebsd.org |+| Mentor | <uqs@freebsd.org> |
 | Requirements | The %%FreeBSD%% developers handbook will have a new chapter giving information on the use of GIT for %%FreeBSD%% daily work as a developer. | | Requirements | The %%FreeBSD%% developers handbook will have a new chapter giving information on the use of GIT for %%FreeBSD%% daily work as a developer. |
  
 ==== Description of task ==== ==== Description of task ====
-The GIT source code management system has become popular among software developers over the years. It is possible to use it to to send and retrieve the %%FreeBSD%% project's source code to/from the main repository. To help developers work with GIT and the %%FreeBSD%% repository, the following wiki page was created that details the basic workflow:  http://wiki.freebsd.org/GitWorkflow+The GIT source code management system has become popular among software developers over the years. It is possible to use it to to send and retrieve the %%FreeBSD%% project's source code to/from the main repository. To help developers work with GIT and the %%FreeBSD%% repository, the following wiki page was created that details the basic workflow: [[/GitWorkflow|GitWorkflow]]
  
 The contents of this wiki page needs to be converted into the developers handbook as a separate chapter so that all information for developers who want to use GIT is present in one place to find. When adding these instructions and examples to the developers handbook, the source code needs to be correctly formatted and must conform to our documentation source code style guidelines. The contents of this wiki page needs to be converted into the developers handbook as a separate chapter so that all information for developers who want to use GIT is present in one place to find. When adding these instructions and examples to the developers handbook, the source code needs to be correctly formatted and must conform to our documentation source code style guidelines.
Line 352: Line 368:
 | Difficulty | hard | | Difficulty | hard |
 | Time limit | 10-25 | | Time limit | 10-25 |
-| Mentor | rea@freebsd.org |+| Mentor | <rea@freebsd.org> |
 | Requirements | The %%FreeBSD%% handbook will have an updated chapter on using CUPS to manage printers connected via USB or the network to a %%FreeBSD%% system. | | Requirements | The %%FreeBSD%% handbook will have an updated chapter on using CUPS to manage printers connected via USB or the network to a %%FreeBSD%% system. |
  
Line 373: Line 389:
 | Difficulty | hard | | Difficulty | hard |
 | Time limit | 15-25 | | Time limit | 15-25 |
-| Mentor | rea@freebsd.org |+| Mentor | <rea@freebsd.org> |
 | Requirements | The %%FreeBSD%% handbook will have each chapter in it's index when rendered to Postscript/PDF output. | | Requirements | The %%FreeBSD%% handbook will have each chapter in it's index when rendered to Postscript/PDF output. |
  
Line 393: Line 409:
 | Difficulty | medium | | Difficulty | medium |
 | Time limit | 10-15 | | Time limit | 10-15 |
-| Mentor | ed@freebsd.org |+| Mentor | <ed@freebsd.org> |
 | Requirements | A page similar to Jens Schweikhardt's from 2001 | | Requirements | A page similar to Jens Schweikhardt's from 2001 |
  
Line 417: Line 433:
 | Difficulty | medium | | Difficulty | medium |
 | Time limit | 20-30 | | Time limit | 20-30 |
-| Mentor | ed@freebsd.org |+| Mentor | <ed@freebsd.org> |
 | Requirements | A page similar to Jens Schweikhardt's from 2001 | | Requirements | A page similar to Jens Schweikhardt's from 2001 |
  
Line 445: Line 461:
 | Difficulty | easy | | Difficulty | easy |
 | Time limit | 10-12 | | Time limit | 10-12 |
-| Mentor | gavin@%%FreeBSD%%.org |+| Mentor | <gavin@FreeBSD.org> |
 | Requirements | The %%FreeBSD%% developers handbook chapter on debugging modules contains the new information from the wiki page. | | Requirements | The %%FreeBSD%% developers handbook chapter on debugging modules contains the new information from the wiki page. |
  
Line 451: Line 467:
  
 %%FreeBSD%%'s developers handbook has a section describing the steps needed to debug kernel modules: http://www.freebsd.org/doc/en_US.ISO8859-1/books/developers-handbook/kerneldebug-kld.html %%FreeBSD%%'s developers handbook has a section describing the steps needed to debug kernel modules: http://www.freebsd.org/doc/en_US.ISO8859-1/books/developers-handbook/kerneldebug-kld.html
-However, the information contained in that section are somewhat outdated. Newer instructions are available in the following wiki page: +However, the information contained in that section are somewhat outdated. Newer instructions are available in the following wiki page: [[/DebuggingModules|DebuggingModules]]
-http://wiki.freebsd.org/DebuggingModules+
 The purpose of this task is to take the information from the wiki page and update the developers handbook chapter accordingly. The final page needs to conform to %%FreeBSD%%'s documentation formatting and style guidelines described in the %%FreeBSD%% documentation primer: http://www.freebsd.org/doc/en_US.ISO8859-1/books/fdp-primer/ The purpose of this task is to take the information from the wiki page and update the developers handbook chapter accordingly. The final page needs to conform to %%FreeBSD%%'s documentation formatting and style guidelines described in the %%FreeBSD%% documentation primer: http://www.freebsd.org/doc/en_US.ISO8859-1/books/fdp-primer/
  
Line 459: Line 474:
 Students are encouraged to use a %%FreeBSD%% system like our [[/VirtualBox|VirtualBox]] image to test the procedure, but can also use the information available online. Students are encouraged to use a %%FreeBSD%% system like our [[/VirtualBox|VirtualBox]] image to test the procedure, but can also use the information available online.
  
-Please read http://wiki.FreeBSD.org/GoogleCodeIn/GettingStarted before accepting this task, as it contains further details on what this task consists of, as well as providing useful information on how to obtain the page source and how to proceed with the task.+Please read [[GoogleCodeIn/GettingStarted|Getting Started]] before accepting this task, as it contains further details on what this task consists of, as well as providing useful information on how to obtain the page source and how to proceed with the task.
  
 ---- ----
Line 468: Line 483:
 | Difficulty | easy | | Difficulty | easy |
 | Time limit | 12-17 | | Time limit | 12-17 |
-| Mentor | gavin@%%FreeBSD%%.org |+| Mentor | <gavin@FreeBSD.org> |
 | Requirements | The %%FreeBSD%% developers handbook will have a new section describing the use of MIIBus for devices attached to the network. | | Requirements | The %%FreeBSD%% developers handbook will have a new section describing the use of MIIBus for devices attached to the network. |
  
Line 474: Line 489:
  
 %%FreeBSD%% implements IEEE 802.3 Media Independent Interface or MIIBus for its underlying networking capabilities. %%FreeBSD%% Developers who want to know more about this interface currently find no information about it in the %%FreeBSD%% developers handbook. The purpose of this task is to remedy this by %%FreeBSD%% implements IEEE 802.3 Media Independent Interface or MIIBus for its underlying networking capabilities. %%FreeBSD%% Developers who want to know more about this interface currently find no information about it in the %%FreeBSD%% developers handbook. The purpose of this task is to remedy this by
-using the following wiki page as a source of information: http://wiki.freebsd.org/MIIBUS+using the following wiki page as a source of information: [[/MIIBUS]]
 Other links to more information about MIIBus are also available at the bottom of this wiki page. The information should be used to create a new section/chapter describing the use of MIIBus and it's implementation in %%FreeBSD%%. The added information needs to conform to %%FreeBSD%%'s documentation formatting and style guidelines described in the %%FreeBSD%% documentation primer: http://www.freebsd.org/doc/en_US.ISO8859-1/books/fdp-primer/ Other links to more information about MIIBus are also available at the bottom of this wiki page. The information should be used to create a new section/chapter describing the use of MIIBus and it's implementation in %%FreeBSD%%. The added information needs to conform to %%FreeBSD%%'s documentation formatting and style guidelines described in the %%FreeBSD%% documentation primer: http://www.freebsd.org/doc/en_US.ISO8859-1/books/fdp-primer/
  
Line 481: Line 496:
 Students are encouraged to use a %%FreeBSD%% system like our [[/VirtualBox|VirtualBox]] image to test the procedure, but can also use the information available online. Students are encouraged to use a %%FreeBSD%% system like our [[/VirtualBox|VirtualBox]] image to test the procedure, but can also use the information available online.
  
-Please read http://wiki.FreeBSD.org/GoogleCodeIn/GettingStarted before accepting this task, as it contains further details on what this task consists of, as well as providing useful information on how to obtain the page source and how to proceed with the task.+Please read [[GoogleCodeIn/GettingStarted|Getting Started]] before accepting this task, as it contains further details on what this task consists of, as well as providing useful information on how to obtain the page source and how to proceed with the task.
  
 ---- ----
Line 490: Line 505:
 | Difficulty | easy | | Difficulty | easy |
 | Time limit | 5-12 | | Time limit | 5-12 |
-| Mentor | rea@freebsd.org |+| Mentor | <rea@freebsd.org> |
 | Requirements | The FAQ contains a new entry on how to solve common USB problems like when mass storage devices are not detected. The entry needs to be formatted correctly according to our %%FreeBSD%% style and doc source code standards. | | Requirements | The FAQ contains a new entry on how to solve common USB problems like when mass storage devices are not detected. The entry needs to be formatted correctly according to our %%FreeBSD%% style and doc source code standards. |
  
 ==== Description of task ==== ==== Description of task ====
 The %%FreeBSD%% operating system has support for many devices connected via the Universal Serial Bus (USB). However, given the vast amount of devices, there are some problems that occur frequently for which there are already solutions available on the following wiki page: The %%FreeBSD%% operating system has support for many devices connected via the Universal Serial Bus (USB). However, given the vast amount of devices, there are some problems that occur frequently for which there are already solutions available on the following wiki page:
-http://wiki.freebsd.org/USB . The %%FreeBSD%% FAQ is the right place for this, so the mini FAQ on the wiki page needs to be transformed into a %%FreeBSD%% FAQ entry. With this, we can point users directly to the FAQ when these kinds of questions come up in the mailing lists.+[[/USB]] . The %%FreeBSD%% FAQ is the right place for this, so the mini FAQ on the wiki page needs to be transformed into a %%FreeBSD%% FAQ entry. With this, we can point users directly to the FAQ when these kinds of questions come up in the mailing lists.
  
 Task requires: Task requires:
Line 530: Line 545:
 | Difficulty | medium | | Difficulty | medium |
 | Time limit | 12-20 | | Time limit | 12-20 |
-| Mentor | gavin@freebsd.org |+| Mentor | <gavin@freebsd.org> |
 | Requirements | The %%FreeBSD%% developers handbook has a new chapter giving some hints on what is important when benchmarking the system and how to do it properly. | | Requirements | The %%FreeBSD%% developers handbook has a new chapter giving some hints on what is important when benchmarking the system and how to do it properly. |
  
 ==== Description of task ==== ==== Description of task ====
-An important part when enhancing the %%FreeBSD%% operating systems is to know whether or not the added functionality makes the system perform faster than before. In order to do that, benchmarks are being used to collect useful information to make educated comparisons. However, when done wrong, these benchmarks will either not make any sense, provide the wrong data or results in false conclusions drawn by the developer doing the benchmark. To avoid that, a wiki page listing some of the pitfalls when benchmarking is available here: http://wiki.freebsd.org/BenchmarkAdvice+An important part when enhancing the %%FreeBSD%% operating systems is to know whether or not the added functionality makes the system perform faster than before. In order to do that, benchmarks are being used to collect useful information to make educated comparisons. However, when done wrong, these benchmarks will either not make any sense, provide the wrong data or results in false conclusions drawn by the developer doing the benchmark. To avoid that, a wiki page listing some of the pitfalls when benchmarking is available here: [[/BenchmarkAdvice|BenchmarkAdvice]]
 The advice given there needs to be added to the %%FreeBSD%% developers handbook so that people doing benchmarks can be pointed there for doing correct benchmarks. When adding these hints to the developers handbook, the source code for the chapter needs to be correctly formatted and must conform to our documentation source code style guidelines. The advice given there needs to be added to the %%FreeBSD%% developers handbook so that people doing benchmarks can be pointed there for doing correct benchmarks. When adding these hints to the developers handbook, the source code for the chapter needs to be correctly formatted and must conform to our documentation source code style guidelines.
  
Line 549: Line 564:
 | Difficulty | medium | | Difficulty | medium |
 | Time limit | 10-40 | | Time limit | 10-40 |
-| Mentor | cs@freebsd.org |+| Mentor | <cs@freebsd.org> |
 | Requirements | The descriptions of ports/packages in at least one category are spell and grammar checked and consistently aligned. | | Requirements | The descriptions of ports/packages in at least one category are spell and grammar checked and consistently aligned. |
  
Line 567: Line 582:
 | Difficulty | medium | | Difficulty | medium |
 | Time limit | 20-30 | | Time limit | 20-30 |
-| Mentor | rpaulo@freebsd.org |+| Mentor | <rpaulo@freebsd.org> |
 | Requirements | The %%FreeBSD%% developer's handbook has a chapter giving some information on DTrace, but it's incomplete. | | Requirements | The %%FreeBSD%% developer's handbook has a chapter giving some information on DTrace, but it's incomplete. |
  
Line 585: Line 600:
 | Difficulty | medium | | Difficulty | medium |
 | Time limit | 20-30 | | Time limit | 20-30 |
-| Mentor | beat@freebsd.org, bcr@%%FreeBSD%%.org |+| Mentor | <beat@freebsd.org>, <bcr@FreeBSD.org> |
 | Requirements | Merge the Ports Subversion Primer from the wiki to the Subversion Primer in the the %%FreeBSD%% developers handbook. | | Requirements | Merge the Ports Subversion Primer from the wiki to the Subversion Primer in the the %%FreeBSD%% developers handbook. |
  
 ==== Description of task ==== ==== Description of task ====
  
-The %%FreeBSD%% ports tree is using the Subversion (SVN) as source code management system. There is a Ports Subversion Primer in the %%FreeBSD%% Wiki http://wiki.freebsd.org/PortsSubversionPrimer describing all the SVN operation needed for Port Committers. In the %%FreeBSD%% developers handbook a Subversion Primer http://www.freebsd.org/doc/en_US.ISO8859-1/articles/committers-guide/subversion-primer.html exists where some of the information are already available. The Primer from the wiki needs to be merged into the existing Subversion Primer so that all information for developers is available in one place.+The %%FreeBSD%% ports tree is using the Subversion (SVN) as source code management system. There is a Ports Subversion Primer in the %%FreeBSD%% Wiki [[/PortsSubversionPrimer|PortsSubversionPrimer]] describing all the SVN operation needed for Port Committers. In the %%FreeBSD%% developers handbook a Subversion Primer http://www.freebsd.org/doc/en_US.ISO8859-1/articles/committers-guide/subversion-primer.html exists where some of the information are already available. The Primer from the wiki needs to be merged into the existing Subversion Primer so that all information for developers is available in one place.
  
 Task requires: Task requires:
Line 811: Line 826:
  
 But NIS servers are less and less available at some sites while But NIS servers are less and less available at some sites while
-[[/ActiveDirectory|ActiveDirectory]] has massively popularized LDAP. The availability of %%OpenLDAP%%+%%ActiveDirectory%% has massively popularized LDAP. The availability of %%OpenLDAP%%
 (for unix and OS/X) means a Unix/BSD only method of centralized (for unix and OS/X) means a Unix/BSD only method of centralized
 administration is possible but a BSD licensed set of nss and pam modules are administration is possible but a BSD licensed set of nss and pam modules are
Line 879: Line 894:
 | Difficulty | easu | | Difficulty | easu |
 | Time limit | 20 | | Time limit | 20 |
-| Mentor | ''%%eadler@FreeBSD.org%%'' |+| Mentor | ''%%<<MailTo(eadler AT FreeBSD DOT org)>>%%'' |
 | Requirements | a tool similar to patchcheck for Linux | | Requirements | a tool similar to patchcheck for Linux |
  
Line 916: Line 931:
 | Time | 16 | | Time | 16 |
 | Mentor | FREEBSDMENTOR | | Mentor | FREEBSDMENTOR |
-| Requirement (task outcome) | Slick high quality PDFs and [[/HandBook|HandBook]] |+| Requirement (task outcome) | Slick high quality PDFs and Handbook |
 | Description | Hook PDF creation targets into build process. | | Description | Hook PDF creation targets into build process. |
 | Contributor's name | ANONYMOUS | | Contributor's name | ANONYMOUS |
Line 1191: Line 1206:
 | Mentor | FREEBSDMENTOR | | Mentor | FREEBSDMENTOR |
 | Requirements | a tool that will emulate an ISP providing home IPv6 service | | Requirements | a tool that will emulate an ISP providing home IPv6 service |
-| Idea contributor bc979@lafn.org |+| Idea contributor <bc979@lafn.org> |
 | Description | of a task | | Description | of a task |
  
Line 1203: Line 1218:
 | Mentor | FREEBSDMENTOR | | Mentor | FREEBSDMENTOR |
 | A | tool that will identify files that should be included in CVS but are not | | A | tool that will identify files that should be included in CVS but are not |
-| Idea contributor bc979@lafn.org |+| Idea contributor <bc979@lafn.org> |
 | Description | of a task | | Description | of a task |
  
Line 1228: Line 1243:
 %%FreeBSD%% users/admins (eg. components of zpool vdevs) and creating/adding to %%FreeBSD%% users/admins (eg. components of zpool vdevs) and creating/adding to
 a %%FreeBSD%% specific Examples section. a %%FreeBSD%% specific Examples section.
- 
-Contributor's name: ANONYMOUS 
- 
----- 
- 
-===== Port DragonflyBSD's HAMMERfs to FreeBSD ===== 
- 
-| Category | Code | 
-| Difficulty | Hard | 
-| Time | 480 | 
-| Mentor | FREEBSDMENTOR | 
-| Requirement (task outcome) | Research porting requirements for %%DragonflyBSD%% | 
-| Description | HAMMER is a high performance BSD licensed file system with | 
- 
-HAMMER is a high performance BSD licensed file system with 
-many features that are competitive with zfs. 
- 
-This project focuses on researching the code writing and changes to the 
-%%FreeBSD%% kernel that would be required for %%DragonflyBSD%% HAMMERfs to be ported 
-to %%FreeBSD%%. 
  
 Contributor's name: ANONYMOUS Contributor's name: ANONYMOUS
Line 1275: Line 1270:
   * lot of testing.   * lot of testing.
  
-Contributor's name: Volodymyr Kostyrko %%<%%c.kworr@gmail.com>+Contributor's name: Volodymyr Kostyrko <<[[/MailTo|MailTo]](%%<%%c.kworr AT gmail DOT com>
  
 ---- ----
  
-===== Update/Import new IPFilter =====+%%=%%=)>>  Update/Import new IPFilter ==
  
 | Category | Code | | Category | Code |
Line 1514: Line 1509:
  
 Description*: Take directions from a suitable TET mentor (jkoshy??) and get Description*: Take directions from a suitable TET mentor (jkoshy??) and get
-your feet wet with Integrated Testing approaches to software development: +your feet wet with Integrated Testing approaches to software development: [[/TetIntegration|TetIntegration]]
- +
-http://wiki.freebsd.org/TetIntegration+
  
 One day this could make you employable with companies that use %%FreeBSD%% in One day this could make you employable with companies that use %%FreeBSD%% in
Line 1602: Line 1595:
 Time*: 16 Time*: 16
  
-Mentor*: bcr@freebsd.org +Mentor*: <<[[/MailTo|MailTo]](bcr AT freebsd DOT org 
 +)>>
 Requirement (task outcome)*: Usable ZFS chapter in %%FreeBSD%% Handbook about Requirement (task outcome)*: Usable ZFS chapter in %%FreeBSD%% Handbook about
 ZFS pool import/export ZFS pool import/export
Line 1638: Line 1631:
  
 http://forums.freebsd.org/showthread.php?t=29555 http://forums.freebsd.org/showthread.php?t=29555
 +
 +Contributor's name: ANONYMOUS
 +
 +----
 +
 +===== Title: Add recursive mode to BSD ctags =====
 +
 +Category*: Code
 +
 +Difficulty*: Hard
 +
 +Time*: 48
 +
 +Mentor*: FREEBSDMENTOR
 +
 +Requirement (task outcome)*: Improve BSD ctags by adding a recursive mode
 +
 +Description*: BSD ctags should have a recursive mode similar to the GNU
 +version of the ctags tool.
 +
 +Since ctags is a key part of many development tools and the student will
 +gain high visibility and get many useful comments on their work.
 +
 +Contributor's name: ANONYMOUS
 +
 +----
 +
 +===== Title: Make Androoid SDK work on FreeBSD =====
 +
 +Category*: Code
 +
 +Difficulty*: Hard
 +
 +Time*: 48
 +
 +Mentor*: FREEBSDMENTOR
 +
 +Requirement (task outcome)*: Make %%FreeBSD%% a viable platform for the Android
 +SDK
 +
 +Description*: - port ADK software
 +
 +- document how to set up an ADK development environment on %%FreeBSD%% for a
 +Handbook Appendix chapter or article.
 +
 +- create a port/pkg
 +
 +Contributor's name: ANONYMOUS
 +
 +----
 +
 +===== Title: Port embedded bionic C library =====
 +
 +Category*: Code
 +
 +Difficulty*: Hard
 +
 +Time*: 480
 +
 +Mentor*: FREEBSDMENTOR
 +
 +Requirement (task outcome)*: Help with Bionic portiing efforts
 +
 +Description*: Experienced C programmer familiar with standard C library
 +functions to help porting BSD licensed embedded C library to broader range
 +of BSD systems. Tasks would be aligned assigned and discussed with $MENTOR
 +
 +This would be a a very prestigious and highly technical coding effort for
 +ambitious students, leading to longer term affiliation with BSD community
 +and employment and educational opportunities.
 +
 +Possibly more appropriate for GSoc but both a %%GSoC%% and GCIn component to
 +this larger project could be designed.
 +
 +See discussion here:
 +
 +http://mail-index.netbsd.org/tech-userlevel/2012/07/25/msg006571.html
 +
 +Contributor's name: ANONYMOUS
 +
 +----
 +
 +===== Title: Make a musl-libc pkg/port =====
 +
 +Category*: Code
 +
 +Difficulty*: Medium
 +
 +Time*: 48
 +
 +Mentor*: FREEBSDMENTOR
 +
 +Requirement (task outcome)*: Make %%FreeBSD%% a viable platform for the Android
 +SDK
 +
 +Description*: Create a %%FreeBSD%% port or MUSL-%%LibC%% for %%FreeBSD%%
 +
 +(see [[http://www.musl-libc.org]])
 +
 +Creating a port will make musl-libc more easily available for testing and
 +debugging among %%FreeBSD%% developers and users. This will help to identify
 +bugs and compatibility issues. In addition to the port some simple tests to
 +build/run a selection of programs will be useful.
 +
 +A longer term target/deliverable might be to a successfully build and run
 +nanobsd using musl-libc for CURRENT, 10.0-RELEASE or 9.2-RELEASE
 +
 +Contributor's name: ANONYMOUS
 +
 +----
 +
 +----
 +
 +===== Title: Create web based interface to control services called by rc.d (system and in local) =====
 +
 +Category*: Code
 +
 +Difficulty*: Medium
 +
 +Time*: 16
 +
 +Mentor*: FREEBSDMENTOR
 +
 +Requirement (task outcome)*: Create the framework for a web based interface
 +to control %%FreeBSD%% services
 +
 +Description*: Create a configurable and nominally secure framework to
 +control certain services started from /etc/rc.d and /usr/local/etc/rc.d
 +
 +Services controlled would be configurable via a config file.
 +
 +Items would include user authentication against pam.d,use of self signed SSL
 +cert, ability to toggle what is controllable or just show status of service,
 +etc.
 +
 +Contributor's name: ANONYMOUS
 +
 +----
 +
 +===== Title: Web interface to setfib command =====
 +
 +Category*: Code
 +
 +Difficulty*: Easy
 +
 +Time*: 16
 +
 +Mentor*: FREEBSDMENTOR
 +
 +Requirement (task outcome)*: Web interface ti display routing info from
 +setfib commamd
 +
 +Description*: Create a simple web based interface to display info from
 +setfib command.
 +
 +This would possibly prove useful for those who monitor systems without
 +having to login to the box and run a series of commands.
 +
 +Would include routing table info, sockstat, etc.
 +
 +Contributor's name: ANONYMOUS
 +
 +----
 +
 +===== Title: TCP/IP over QRCode =====
 +
 +Category*: Code
 +
 +Difficulty*: Hard
 +
 +Time*: 16
 +
 +Mentor*: FREEBSDMENTOR
 +
 +Requirement (task outcome)*: Create a novelty TCP/IP stack that
 +transmits/receives via QRCode
 +
 +Description*: Using RFC 1149- A Standard for the Transmission of IP
 +Datagrams on Avian Carriers, create a similar TCP/IP stack that uses QRCode
 +to transmit/receive data.
 +
 +While this is wholly a novelty item, imple,emting something at this level
 +that uses QRCode as the transmission medium.
 +
 +The code generated in this task should be structured as to make the QRCode
 +encode/decoder highly portable to other transmission mediums such as UDP,
 +SMTP, etc.
 +
 +A data packet structure and header indicating version number, type, etc
 +would exist in the encoded data to facilitate this.
 +
 +Contributor's name: ANONYMOUS
 +
 +----
 +
 +===== Title: Native DKIM/DomainKeys utility =====
 +
 +Category*: Code
 +
 +Difficulty*: Easy
 +
 +Time*: 16
 +
 +Mentor*: FREEBSDMENTOR
 +
 +Requirement (task outcome)*: Create a standard script/program that would
 +add/parse/verify DKIM/%%DomainKeys%%
 +
 +Description*: Create a %%FreeBSD%% standard utility to crease/parse/verify
 +DKIM/%%DomainKeys%% headers in e-mail messages.
 +
 +This would also verify SPF as well.
 +
 +The utility could be a shell script or compiled program. It would
 +add/manipulate headers related to DKIM and %%DomainKeys%%.
 +
 +Contributor's name: ANONYMOUS
 +
 +----
 +
 +===== Title: FreeBSD Iphone/Android App =====
 +
 +Category*: Code
 +
 +Difficulty*: Medium
 +
 +Time*: 16
 +
 +Mentor*: FREEBSDMENTOR
 +
 +Requirement (task outcome)*: Iphone/Adnroid app that pushes relevant info on
 +%%FreeBSD%%
 +
 +Description*: An application that pushed news and updates on %%FreeBSD%% to its
 +users. This would include release announcements, security announcements,
 +upcoming events, etc.
 +
 +It would be yet another way for people to stay abreast of %%FreeBSD%% happenings
 +without using the mailing lists.
 +
 +Contributor's name: ANONYMOUS
 +
 +----
 +
 +===== Title: FreeBSD server heartbeat monitor app =====
 +
 +Category*: Code
 +
 +Difficulty*: Medium
 +
 +Time*: 23
 +
 +Mentor*: FREEBSDMENTOR
 +
 +Requirement (task outcome)*: Iphone/Android app that natively monitors
 +%%FreeBSD%% system "health"
 +
 +Description*: Would support multiple systems, let user know if system was up
 +or down, and current system load.
 +
 +Useful for knowing if a system is under heavy load from afar.
 +
 +Contributor's name: ANONYMOUS
 +
 +----
 +
 +===== Title: Curses or menu based program to seach ports =====
 +
 +Category*: Code
 +
 +Difficulty*: Medium
 +
 +Time*: 16
 +
 +Mentor*: FREEBSDMENTOR
 +
 +Requirement (task outcome)*: Create an easier way to search ports and
 +display pkg-descr and requirements
 +
 +Description*: Would create a menu (curses) based menu to search ports tree,
 +showing programs avail, description and dependencies.
 +
 +Contributor's name: ANONYMOUS
 +
 +----
 +
 +===== Title: Make /usr/src/UPDATING more user friendly =====
 +
 +Category*: Code
 +
 +Difficulty*: Medium
 +
 +Time*: 16
 +
 +Mentor*: FREEBSDMENTOR
 +
 +Requirement (task outcome)*: To create a more user friendly way to parse
 +UPDATING
 +
 +Description*: The /usr/src/UPDATING file is fairly large and not too user
 +friendly.
 +
 +This take would entail creating a way to make this monster more manageable
 +to search from within the CLI.
 +
 +Contributor's name: ANONYMOUS
 +
 +----
 +
 +===== Title: Fix picobsd build script =====
 +
 +Category*: Code
 +
 +Difficulty*: Medium
 +
 +Time*: 16
 +
 +Mentor*: FREEBSDMENTOR
 +
 +Requirement (task outcome)*: Fix/update the Picobsd build scripts to work
 +again with never version of %%FreeBSD%%
 +
 +Description*: The %%PicoBSD%% build scripts seem to be broken. While a bit
 +antiquated, they can still be useful.
 +
 +This task would involve updating the %%PicoBSD%% build scripts to work correctly
 +with newer versions of %%FreeBSD%%. They could also be updated to take advantage
 +of the "new" features that are available since the %%PicoBSD%% build script was
 +created.
 +
 +Additionally, the scripts would be updated to allo creating a compact CD
 +based install that would fit onto mini CDs. It could also include an option
 +for creating a PXE bootable system that is all inclusive.
 +
 +Contributor's name: ANY MOUSE
 +
 +----
 +
 +===== Title: boot.config utility =====
 +
 +Category*: Code
 +
 +Difficulty*: Medium
 +
 +Time*: 16
 +
 +Mentor*: FREEBSDMENTOR
 +
 +Requirement (task outcome)*: A utility to create/modify /boot.config
 +
 +Description*: This would entail creating a utility that creates/edits/delete
 +the boot.config file located on the root of the bootable drive in %%FreeBSD%%.
 +
 +This would make it easier to create/update/maintain this optional yet
 +critical file.
 +
 +Contributor's name: ANONYMOUS
 +
 +----
 +
 +===== Title: Update the scripts in /usr/src/release =====
 +
 +Category*: Code
 +
 +Difficulty*: Hard
 +
 +Time*: 48
 +
 +Mentor*: FREEBSDMENTOR
 +
 +Requirement (task outcome)*: Update the old scripts in /usr/src/release,
 +making them more efficient and relevant
 +
 +Description*: Many of the scripts in /usr/src/release are quite old and
 +could use a "refresh".
 +
 +This project would involve taking each script in /usr/src/release, reading
 +through it and making sure it is still relevant by deleting or updating
 +pieces of code as necessary.
 +
 +Contributor's name: ANONYMOUS
 +
 +----
 +
 +===== Title: FastCGI Markdown plugin for nginx, lighttpd, etc. =====
 +
 +Category*: Code
 +
 +Difficulty*: Medium
 +
 +Time*: 16
 +
 +Mentor*: FREEBSDMENTOR
 +
 +Requirement (task outcome)*: Create a CGI based plugin for serving markdown
 +as HTML directly
 +
 +Description*: Create a CGI based plugin for serving markdown as HTML
 +directly.
 +
 +The tool should ability to serve/convert troff formatted man pages and serve
 +Markdown formatted text directly from the localhost's /usr/share/docs or
 +handbook/articles as HTML.
 +
 +Manual pages can be extended by adding references to handbook and wiki
 +sections that become official and are shipped with the RELEASE.
 +
 +Contributor's name: ANONYMOUS
 +
 +----
 +
 +===== Title: FBFS Scheduler =====
 +
 +Category*: Code
 +
 +Difficulty*: Medium
 +
 +Time*: 32
 +
 +Mentor*: FREEBSDMENTOR
 +
 +Requirement (task outcome)*: C skills and kernel-scheduler knowledge
 +
 +Description*: (1) Description of a task
 +
 +%%FreeBSD%% scheduler offer advanced features for 2 or more CPU cores. The ULE
 +is stable and secure to use in production. For low hardware systems, like
 +geode processors (1 core), FBFS is better than 4BSD (some years old) and ULE
 +because of simple design and responsiveness.
 +The task is port code from FBFS project (already made to %%FreeBSD%% 8.2 and
 +9.0) to %%FreeBSD%% 8.3, 9.1 and 10, reevaluating concepts of BFS scheduler and
 +FBFS.
 +
 +(2) Task requires
 +
 +A %%FreeBSD%% System. Strong knowledge of kernel scheduler and it's design.
 +
 +Contributor's name: ANONYMOUS
 +
 +----
 +
 +===== Title: FreeBSD on tablets =====
 +
 +Category*: Code
 +
 +Difficulty*: Hard
 +
 +Time*: 160
 +
 +Mentor*: FREEBSDMENTOR
 +
 +Requirement (task outcome)*: Port %%FreeBSD%% to tablet form factor computing
 +platform
 +
 +Description*: Pure gesture based console with X/graphics display layer for
 +running chrome and virtual desktops so gesture based vim/emacs can run
 +alongside it in tablet console heaven.
 +
 +Contributor's name: ANONYMOUS
 +
 +----
 +
 +===== Title: Web references for error messages in zfs and elsewhere =====
 +
 +Category*: Code, Documentation/Training
 +
 +Difficulty*: Medium
 +
 +Time*: 48
 +
 +Mentor*: FREEBSDMENTOR
 +
 +Requirement (task outcome)*: Web references for error messages in zfs and
 +elsewhere
 +
 +Description*: Error messages that refer to further documention on a website
 +can be very useful for sysadmins/users. Solaris makes extensive use of
 +these. %%FreeBSD%% could begin to adopt this approach as well and a useful start
 +on this could be made by BSDizing the error messages from zfs that refer to
 +sun.com.
 +
 +The primary outcome of this task would be to either BSDize or update error
 +messages from zfs that refer to now dead links at sun.com
 +
 +http://www.sun.com/msg/ZFS-8000-8A
 +
 +To the extent possible the content from these pages and URLs can be fetched
 +updated from archives and caches.
 +
 +Then a simple clean up of the source tree with:
 +
 +'sed s#\.sun\.com\/msg\#freebsd\.org/msg#g'
 +
 +that would point *all* msgs at freebsd.org/errmsg/ZFS... for now would allow
 +the proejct to gradually develop a protocol for adding information (tuning,
 +PRs or simply more detailed information) to the output of various errors.
 +
 +Perhaps the best approach would be to link to a msg hierarchy on the
 +freebsd.org website that mimcis the source tree:
 +
 +freebsd.org/msg/%%<%%source tree location>
 +
 +freebsd.org/msg/cddl/sbin/zfs/
 +
 +under there an "index" in text/markdown could refer to PRs tuning handbook
 +sections. More specific linke could be RESTful urls that refer to a msg
 +number (as sun/oracle does) e.g.:
 +
 +freebsd.org/msg/cddl/sbin/zfs/ZFS-8000-8A
 +
 +A student could do some grepping with sed and awk and refer the URLs to a
 +mocked up site then creat errors that would trigger the messages. Prepare
 +Makefiles commands and patches that would clean the zfs tree and then think
 +about expanding this approach to other error messages in %%FreeBSD%% itself.
 +
 +For the ZFS portion of this work, the content of ZFS-%%**%%%%**%%-%%**%% messages could
 +be fetched stored/mirrored at illumos/freebsd/joyent and other ZFS
 +implementors. With sun's demise or passing on to a glorious after life we
 +(e.g. Illumos, !%%SmartOS%%, %%ZFSonLinux%%, %%NeXenta%%, %%FreeBSD%%) are all "the vendors"
 +now and we should clean up and maintain these error messages. This would
 +allow the %%FreeBSD%% proejct to strengthen its collaboration with other ZFS
 +maintainers.
 +
 +Contributor's name: ANONYMOUS
 +
 +----
 +
 +===== Title: MAke it possible to "like" or vote on each of the above tasks =====
 +
 +Category*: Code
 +
 +Difficulty*: Easy
 +
 +Time*: 16
 +
 +Mentor*: FREEBSDMENTOR
 +
 +Requirement (task outcome)*: MAke it possible to "like" or vote on tasks/PRs
 +etc
 +
 +Description*: Get a web guru young student to develop cool REST JSON nosql
 +javascripty voting and page ranking thingie to add to PRs allowing folks
 +with freebsd.org "membership" (e.g. the forum or another database) and/or
 +openid/google+/facbeook authentication to "vote" or "like" the tasks from
 +the above list. Eventually extend this to PRs
 +
 +Some services (e.g. Googlecoode) have similar features and implementations
 +are well known. For a web savvy student this should be easy.
 +
 +Contributor's name: ANONYMOUS
 +
 +----
 +
 +===== Title: Improve default rc.firewall ruleset =====
 +
 +Category*: Documentation/Training
 +
 +Difficulty*: Medium
 +
 +Time*: 20
 +
 +Mentor*: melifaro
 +
 +Requirement (task outcome)*: firewall ruleset without legacy rules
 +
 +Description*: (1) Description
 +ipfw(8) is base Ipv4/IPv6 firewall used in %%FreeBSD%%.
 +Default ruleset provide some pre-defined flavors like router or NAT box.
 +Some of the rules (particularly loopback and nat-based ones) are out of date
 +and does not reflect current ipfw/kernel abilities.
 +
 +(2) Task requires
 +Basic firewall / nat/pat working principles.
 +
 +Contributor's name: [[eugen@eg.sd.rdtc.ru|Eugene Grosbein]]
 +
 +----
 +
 +Title: add LDAP backend support to YP/NIS
 +
 +Category*: Code
 +
 +Difficulty*: Hard
 +
 +Time*: 64
 +
 +Mentor*: FREEBSDMENTOR
 +
 +Requirement (task outcome)*: port ypldapd to %%FreeBSD%% from %%OpenBSD%%
 +
 +Description*: Full native NSS map login support for LDAP is not yet
 +available for %%FreeBSD%% or BSD in general (though %%OpenBSD%% now ships with a
 +simple LDAP server and login_ldap support). %%OpenBSD%%'s ypldap leverages the
 +great support for yp/nis in BSD and updates it to use an LDAP backend
 +eliminating the need to transfer NIS maps from servers to clients and
 +allowing for central administration.
 +
 +This taks focuses on adding support for LDAP to %%FreeBSD%%'s NIS server.
 +
 +http://www.openbsd.org/cgi-bin/man.cgi?query=ypldap&sektion=8
 +
 +http://blogs.helion-prime.com/tag/ypldap
 +
 +Contributor's name: ANONYMOUS
 +
 +----
 +
 +===== Title: add LDAP backend support to YP/NIS =====
 +
 +Category*: Code
 +
 +Difficulty*: Hard
 +
 +Time*: 64
 +
 +Mentor*: FREEBSDMENTOR
 +
 +Requirement (task outcome)*: port ypldapd to %%FreeBSD%% from %%OpenBSD%%
 +
 +Description*: Full native NSS map login support for LDAP is not yet
 +available for %%FreeBSD%% or BSD in general (though %%OpenBSD%% now ships with a
 +simple LDAP server and login_ldap support). %%OpenBSD%%'s ypldap leverages the
 +great support for yp/nis in BSD and updates it to use an LDAP backend
 +eliminating the need to transfer NIS maps from servers to clients and
 +allowing for central administration.
 +
 +This taks focuses on adding support for LDAP to %%FreeBSD%%'s NIS server.
 +
 +http://www.openbsd.org/cgi-bin/man.cgi?query=ypldap&sektion=8
 +
 +http://blogs.helion-prime.com/tag/ypldap
 +
 +Contributor's name: ANONYMOUS
 +
 +----
 +
 +===== Title: Port CIFS server and client from opensolaris =====
 +
 +Category*: Code
 +
 +Difficulty*: Hard
 +
 +Time*: 160
 +
 +Mentor*: FREEBSDMENTOR
 +
 +Requirement (task outcome)*: Port CIFS server and client from opensolaris
 +
 +Description*: Samba is nice. Samba is not nice. It sort of depends on the
 +day. Plus Samba is and complicated to set up compared to %%OpenSolaris%%  (and
 +it's GPLv3)
 +
 +the code for CIFS server and client could go int src/cddl (haha!) or just be
 +made into a port. Better integration with ZFS and vendor support from our
 +friends at Illumos, Joyent, %%OpenIndiana%% and Oracle.
 +
 +It's nice to have choices
 +
 +Contributor's name: ANONYMOUS
 +
 +----
 +
 +===== Title: Add easy to use cut and paste URLs to ports viewsvn interface =====
 +
 +Category*: Code
 +
 +Difficulty*: Easy
 +
 +Time*: 16
 +
 +Mentor*: FREEBSDMENTOR
 +
 +Requirement (task outcome)*: Ports viewsvn interface should have easy to
 +cut/paste URLs
 +
 +Description*: Ports viewsvn interface should have easy to cut/paste URLs
 +like github
 +
 +This is an easy coding config task for a student who could mirror the the
 +svnweb setup for freebsd and modify the UI/configuration so that browsing
 +something like:
 +
 +http://svnweb.freebsd.org/ports/head/www/p5-HTTP-Router/
 +
 +always gives a plain text copyable commandline URL for anonymous svn like:
 +
 +"svn co -rXXXXXXX http://svn.freebsd.org/ports/head/www/p5-HTTP-Router/"
 +
 +that can be cut and pasted into a commandline. Adding the the correct
 +-rXXXXX to the output (with XXXX = to the revision being browsed) might take
 +a little coding (python = easy)
 +
 +This would make svnweb more useful and add to services like freshports
 +(which still needs to work on converting its CVSWeb links to svnsweb).
 +
 +Also add appropriate red color scheme and small beastie PNG's to the pages
 +to make it beeyootiful
 +
 +As one of the larges SVN repos in the world this project would add prestige
 +to any student resume.
 +
 +Contributor's name: ANONYMOUS
 +
 +----
 +
 +===== Title: Native support for a general purpose notification daemon =====
 +
 +Category*: Code
 +
 +Difficulty*: Hard
 +
 +Time*: 48
 +
 +Mentor*: FREEBSDMENTOR
 +
 +Requirement (task outcome)*: Develop a tool/daemon for handling hardware
 +failure notifications
 +
 +Description*: Adding drives as "hot spares" to a zpool still requires manual
 +intervention to replace them on failure. This is because %%FreeBSD%% lacks
 +daemon that would receive notifications about disk failures
 +And "zpool replace" the failed drive with the spare. See:
 +
 +kern/134491: [zfs] Hot spares are rather cold...
 +http://www.freebsd.org/cgi/query-pr.cgi?pr=134491
 +
 +This project could handle the specific zfs case or add features and
 +capabilities to an existing %%FreeBSD%% subsystem that would make more generic
 +hardware failure monitoring possible.
 +
 +Contributor's name: ANONYMOUS
 +
 +----
 +
 +===== Title: I/O Limits for FreeBSD Jails =====
 +
 +Category*: Code, Outreach/Research
 +
 +Difficulty*: Hard
 +
 +Time*: 100
 +
 +Mentor*: FREEBSDMENTOR
 +
 +Requirement (task outcome)*: Each Jails should have a configurable I/O limit
 +
 +Description*: Linux lightweight virtualization environments (Openvz, LXE)
 +has a way to limit I/O activity per container.
 +
 +To simplest way to achieve this in %%FreeBSD%% would be to use the GEOM layer to
 +implement a fair scheduler algorithm.
 +
 +We would divide I/O pool in several queues, assigning 1 or more queues to
 +each container, according to priority.
 +
 +Contributor's name: <<[[/MailTo|MailTo]](alberto.esposito AT webscientist DOT us
 +
 +----
 +
 +%%=%%=)>> Title: [[/WiFox|WiFox]] Protocol for %%FreeBSD%% 802.11 Stack ==
 +
 +Category*: Code, Documentation/Training
 +
 +Difficulty*: Easy, Medium
 +
 +Time*: 16
 +
 +Mentor*: FREEBSDMENTOR
 +
 +Requirement (task outcome)*: A %%FreeBSD%% System. Strong knowledge of 802.11
 +stack in %%FreeBSD%%.
 +
 +Description*: Description
 +
 +(1) Description of a task
 +
 +%%FreeBSD%% wireless support is very stable and secure to use in production
 +sites. In a way to improve performance and stability, a new research point a
 +very large gain with this new protocol:
 +[[http://news.ncsu.edu/releases/wms-gupta-wifi|WiFox Reference]]
 +The task is implement this protocol and document his usage. Important:
 +Develop in sync to %%FreeBSD%% 10 and downgrade the code to %%FreeBSD%% 9 and
 +%%FreeBSD%% 8 (for use in important and very used projetcts like pfSense).
 +
 +(2) Task requires
 +
 +A %%FreeBSD%% System. Strong knowledge of 802.11 stack in %%FreeBSD%%.
 +
 +Contributor's name: ANONYMOUS
 +
 +%%=%%=
 +
 +----
 +
 +===== Title: SVN client in FreeBSD base system. BSD Licensed. =====
 +
 +Category*: Code, Documentation/Training
 +
 +Difficulty*: Easy, Medium
 +
 +Time*: 32
 +
 +Mentor*: FREEBSDMENTOR
 +
 +Requirement (task outcome)*: A %%FreeBSD%% System. Strong knowledge of SVN
 +client concepts
 +
 +Description*: (1) Description of a task
 +
 +With the change from cvs to svn, install subversion from ports is not
 +practical (time precious). Create a BSD Licensed SVN client to use builtin
 +system base. Backport to %%FreeBSD%% 9 and 8.
 +Create documents about usage (handbook, man). Small memory use and simple.
 +More later thinking about use multiple mirrors to speed up sources
 +downloading and not overcharge servers (like use servers in other country
 +without massive usage in moment).
 +
 +(2) Task requires
 +
 +A %%FreeBSD%% System. Strong knowledge of SVN client concepts.
  
 Contributor's name: ANONYMOUS Contributor's name: ANONYMOUS
Line 1648: Line 2461:
 | Difficulty | easy, medium, hard | | Difficulty | easy, medium, hard |
 | Time limit | number of **participant's** hours/days for this task | | Time limit | number of **participant's** hours/days for this task |
-| Mentor | ''%%email@freebsd.org%%'' |+| Mentor | ''%%<<MailTo(email AT freebsd DOT org)>>%%'' |
 | Requirements | What do we expect to be there to grade this task as 'completed' | | Requirements | What do we expect to be there to grade this task as 'completed' |
 | Idea contributor | IF YOUR IDEA, EMAIL wkoszek (at) %%FreeBSD%%.org | | Idea contributor | IF YOUR IDEA, EMAIL wkoszek (at) %%FreeBSD%%.org |
Line 1664: Line 2477:
 over the duration of the Google Code-In. This should give you a feeling of what kind over the duration of the Google Code-In. This should give you a feeling of what kind
 of tasks we must have here. of tasks we must have here.
 +
 +----
 +
 +{{tag>Historical}}
  
  • googlecodein/2012tasks.1351138960.txt.gz
  • Last modified: 2012/10/25 04:22
  • by WojciechKoszek