From LiteratePrograms
Jump to: navigation, search
Derrick Coetzee in hat and necklace.jpg

Hi, I'm Derrick Coetzee, the founder of LiteratePrograms and the owner of the EC2 server that it lives on. I'm currently a grad student at University of California, Berkeley. I am a sysop, a bureaucrat, and a developer on LP, so if you need anything taken care of or have any suggestions, just ask me on my talk page. Thanks!

I'm also an administrator/sysop on the English Wikipedia and on Wikimedia Commons, the central media repository for Wikimedia projects. If I'm ever nonresponsive here, try contacting me either by e-mail (, or at my English Wikipedia talk page.

[edit] Languages

I use a lot of languages, but I'm most proficient with C, C++, and C#. I've also done fairly extensive work in ML, Java, Lisp, Perl, PHP (MediaWiki is PHP!), Mathematica, Visual Basic, BASIC (my first language!), Squeak Smalltalk, Pascal, assembly language, JavaScript, SQL, ColdC, MOO, and bash script. I also have a more passing familiarity with Fortran, Haskell, Matlab, Ocaml, Managed C++, Scheme, Prolog, Python, and Ruby. (Can you tell I'm a language geek?)

[edit] License

I release all my contributions to this wiki under the Creative Commons CC0 Waiver.

[edit] To-do list

[edit] Development

  • Enable downloading of code for out-of-date versions, and when viewing an out-of-date version, make the "download code" tab download the code for that version.
  • Syntax highlighting support for some common languages.
  • Fix the noweb step to run on the text with templates fully expanded, not just the raw wikitext.
    • Also fixed: replace .zip filename characters that are invalid in Windows with safe characters, show a wikipage for the "no code" error instead of a download.
  • Move the comment markers for various languages and maybe even the syntax highlighting specification into MediaWiki articles for dynamic updating.
  • Translate code2html to PHP so it can be embedded in the server.
    • Did this.
  • Fix hyperlinking between chunks to deal with multi-part chunks.
  • MediaWiki has a bug where updates to category pages transcluded in other pages are not propagated. Do something about this.
  • Consider adding noweb syntax checking to the page saving process.
  • Consider an automatic compilation/unit test stage to check for compiler errors or warnings and changes that break the program.
    • Ehud on LtU suggests outputting unresolved compiler warnings/errors right on the page next to the code to which it applies.
    • I have now added automatic download-time compilation of C, C++, Perl, Python, Haskell and Ruby. All output (if any) is placed in a file called build.log.
  • Consider autolinking of library methods to reference works.
  • Consider displaying the effect of the changes on noweb/compiler diagnostics in the history page, and maybe displaying an icon next to changes in the Recent Changes list and watchlists that caused new diagnostics.
  • If the URLs contain the comment close character, it can screw up compilation of downloaded files. Replace these with hexadecimal character codes.
  • Fix noweb to prevent indention of chunks with tabs (ideally, just use whatever was used in front of the chunk reference).
  • Some code pages have an issue, apparently only in Mozilla, where there are blank lines between each line, especially in the comment header. View source shows the </font> close tag on its own line. Maybe some wrapping thing - eliminating the <pre> tags will probably fix this.
  • Maybe get math to work on other background colours.
  • Reduced palette thumbnail images.

[edit] On-wiki

  • Some people are listing languages they know on their user page. Maybe create userboxes for these.
    • Done
Creative Commons CC-Zero This user has made all of their contributions available under the Creative Commons CC0 1.0 Universal Public Domain Dedication, including those before the license migration to CC0.
This user has dedicated their contributions to the public domain by waiving all of his or her rights to them worldwide under copyright law, including all related and neighboring rights, to the extent allowed by law. You can copy, modify, distribute and perform any of their contributions, even for commercial purposes, all without asking permission.