Software products by Wakaba
Application Programs
Perl standalone (command-line) applications
- Modularized XML Document Type Definition
(DTD) Generator (2003〜2004)
- A Perl script to generate XML DTD module implementations
and/or DTD drivers, that
can be used with modularized XHTML DTDs.
- Though an updated but incompatible version of this script was
included in the manakai package, it was dropped
later, because of the uselessness of the
DTD modularization and the
XML
DTD itself.
- Language: Perl5
- Library: A module from manakai is used.
- wttjs
(WebIDL ECMAScript Binding Test Suite Generator) (2008)
- A tool to generate automated test suite from an IDL fragment conforming
to the WebIDL
specification. It generates test cases to check whether the DOM ECMAScript binding of a Web
browser conforms to the WebIDL specification
and the given IDL
fragment, as well as a test harness for the automated testing against
the generated test cases.
- Language: Perl5, JavaScript
- Libraries: Modules from manakai and Whatpm are in use, as well as
JSON
module available from CPAN.
- Harusame (2008)
- A tool to extract a version of the HTML document written in the
specified natural language, from a source HTML document that contains
paragraphs in multiple natural languages. It eliminates management
cost for multilingual Web sites to synchronize versions of a document
written in different languages.
- Language: Perl5
- Libraries: Modules from manakai and Whatpm are in use.
- mkcommitfeed.pl - Commit
Log Feed Generator (2008)
- The
mkcommitfeed.pl
script provides a command-line
interface to update an Atom Feed that is intended for providing commit
logs for a software developmenet project. The script, when invoked,
adds an Atom Entry that describes a change made to the project's
repository.
- Language: Perl5
- Libraries: Modules from manakai and Whatpm are in use.
- generate-pm-package
(2010)
- The
generate-pm-package
script can be used to
generate Perl module packages using a simple manifest file.
- Language: Perl5
Web applications
- ssmchat
(2000-2002)
- A Web-based chat system. It is developed as a simpler replacement
for "comchatq" Web chat system, which was one of the commonly-used
Web-based chat CGI scripts at that time.
- Language: Perl5
- The Web forum in the "Furoiran" Web site (2000-2001)
- A Web-based BBS system. It was a customized version of Web-based
BBS CGI script which was widely distributed at that time.
- Language: Perl5
- The content management system for the "Furoiran" Web site
(2000-2001)
- A Web-based content management system for the Web site, including
basic microblogging feature.
- Language: Perl5
- H2H classic
implementation (2001〜2003)
- A Web diary (or blogging) system that supports static generation
of HTML documents, with
a simple markup language inspired by hnf, an HNS's markup language. Later version also support
dynamic generation. Although it was originally developed for my own use, it was also used to construct a
brass band club's Web site, later.
- Language: Perl5
- SuikaWiki wiki
engine (2002〜)
- A modular wiki engine, which can support multiple document markup
languages and various datasources. It supports an extensible form
template language, an extensible user-friendly hyperlinking syntax,
rich metadata annotation framework, a calendar interface for blogging,
a bugtrack interface, and other features as plugin modules. It
supports a namespace feature, which was not widely implemented by wiki
engines at the time of introduction, in its its wiki name syntax. Its
user interface is so designed that it is fully-customizable and
fully-localizable by the administrator and/or users of the wiki.
- Though its development started as a derivation from YukiWiki, its source code
has been replaced
completely in 2004 and is no longer a variant of YukiWiki.
- Language: Perl5
- Something
like virtual machine with something like assembler (2005)
- A virtual machine and assembler implemented by JavaScript,
inspired by (but not compatible with) COMET and CASL.
- Language: JavaScript
- BEB
(Bookmarklet Editor Bookmarklet) (2005〜2010)
- A bookmarklet editor, distributed as a bookmarklet itself.
- Language: JavaScript
- WebHACC (2007〜)
- A user-friendly conformance checker for Web documents, supporting
latest Web standards including HTML5, CSS3, and Atom.
- Languages: Perl5, JavaScript
- Libraries: Strictly speaking, WebHACC just provides a user interface
and the conformance checking feature is provided by
manakai and Whatpm.
- Live CSSOM Viewer
(2007)
- A real-time CSS style
sheet anaylsis tool that dumps the CSSOM tree generated by the Web browser in use.
- Language: JavaScript
- netaddradmin-2007
(2007)
- This is a simple management tool for local network addresses. It
can reduce your cost to manage local IP addresses possibily assinged
to your network devices. Host names and descriptions can be
associated with IP addresses. List of host names can be output in the
Unix
/etc/hosts
format, which is useful for DNS-less
network in particular. It also provides the "ping" view mode, which
lists the current status of availability of hosts using Unix
ping
command.
- Language: Perl, JavaScript
- HTML
Schema database (2007-2008)
- An archive database for historical HTML DTDs and other schemas.
It contains a number of HTML DTDs and other files, registered with
metadata such as author, published date, derivation, and so on. It is
possible to add line-by-line annotation to any file registered in the
database, using the Web interface. It is also possible to compare any
schema files to find their differences.
- Language: Perl
suika.fam.cx
Web user account management tool (2008)
- An interactive Web application for the management of user accounts
and groups of users for the access control of Web contents hosted by
suika.fam.cx
.
- Source codes for this tool has not been published.
- Language: Perl5, JavaScript
- Library: manakai
- progressreport-2008
(2008)
- This is a simple submission system for weekly progress report.
- Language: Perl5
Libraries
- manakai (2002〜)
- A set of Perl modules supporting Internet message formats such as
RFC 822/2822 mail messages, HTTP messages, and as such,
in addition to a pure-Perl
DOM implementation
supporting latest Web standards such as
DOM3 Core, DOM2 Traversal, DOM3 Events, and Selectors API.
- Language: Perl5 (XSLT 1.0 was also used.)
- HSML
(Hyper Slide Markup Language) and its implementation (2003〜2005)
- An
XML-based
markup language for presentation slides with
XBL 1.0 /
HTC implementation supporting
Mozilla browsers and
WinIE.
- Language: XBL 1.0, HTC, JavaScript
- CharClass (2003〜)
- A Perl regular expression character class library, defining
character classes such as “non-voiced Katakana letters”, “Han
characters listed in Japanese daily-used Han character set”,
“characters listed in a character class defined in JIS X 4051”,
“characters that can be used in XML
1.0
Name
”, and so on.
- Language: Perl5
drag.xbl
and drag.htc
(2003〜2004)
- An XBL or HTC library to make an HTML element draggable,
supporting Mozilla browsers and
WinIE.
- Language: XBL 1.0, HTC, JavaScript
- vcutils —
Utilities and Perl modules for version control tools (2004〜2010)
- A collection of utility scripts and Perl modules for handling
version control system files, especially RCS and CVS repository files.
- Language: Perl5
- Library: manakai
toc.xbl
:
Auto-generation of table of contents (2005)
- An XBL library that
enables automatical generation of table of contents section of an
HTML document,
supporting Mozilla browsers.
- Language: XBL 1.0,
JavaScript
xpointer.js
,
An XPointer implementation by JavaScript (ECMAScript)
(2005)
- An implementation of XPointer, written in JavaScript.
It supports the shorthand pointer syntax and
element()
and xmlns()
schemes. In addition, its extensible
implementation framework enables an easy adoption of new
XPointer schemes, as demonstrated by samples of
additional scheme implementations.
- Language: JavaScript
- Simulation
and Graph-generation utilities (2006〜2007)
- Perl modules and scripts, developed as core or
protocol-independent components of network protocol simulation and
visualization tools, during 2006-2007. They are not useful by
themselves - actual simulation and visualization logic have to be
built on top of features provided by these Perl codes, e.g. job
scheduling, input parameter handling, and drawing abstract interfaces.
- Language: Perl5
- Whatpm
(2007〜)
- A set of Perl modules supporting latest Web hypertext application
technologies such as HTML5, CSS3, Atom, and WebIDL. It includes
pure-Perl implementations of HTML5 parser and CSS parser.
- Language: Perl5
- testdataparser
(2007〜2011)
- A test data parser for Tree Construction Tests for HTML parsers.
- Language: Perl5
- Regular expression
visualizer and regular expression related Perl modules (2008)
- This is a collection of tools for regular expression, including a
regular expression visualizer and Perl regular expression parsers for
Perl and JavaScript regular expression languages.
- Language: Perl5
- SAMI JavaScript
Framework (2009〜)
- Sami is a lightweight JavaScript framework for modern Web
applications in Web browser environment or the Web platform. It
provides an easy-to-use API for various commonly-used sets of
operations for Web applications, without tainting prototype chains or
other "platform environment". The core part of the library is
inspired by Ten.js framework. In addition, it contains advanced
features such as unit testing and parser generation, as additional
modules.
- Langauge: JavaScript
Test::Apache::RewriteRules
(2010〜2011, as the main author)
- The
Test::Apache::RewriteRules
module sets up Apache
HTTPD server for the purpose of testing of a set of
RewriteRule
s in apache.conf Apache configuration.
- Language: Perl5
- perl-test-test
(2010)
- This package enables testing of testing frameworks,
i.e. meta-testing. The
Test::Test::More
module provides
subroutines for testing of Test::More
-based test modules
such as test_ok_ok
and test_ng_ok
.
- Language: Perl5
- Migemo.js (2011)
- Yet another Migemo
implementation in JavaScript. It generates regular expressions for
incremental search of strings written in Japanese.
- Language: JavaScript
Web::URL::Canonicalize
- Perl URL Canonicalizer (2011)
- The
Web::URL::Canonicalize
module parses, resolves,
and canonicalizes URLs as Web browsers do. Web browsers canonicalize
URLs in many places. URL parsing, resolving, and canonicalizing rules
are too complex and sometimes vary across browsers. This module is
trying to imitate their behavior as far as possible.
- Language: Perl5
Web Browser Extensions
- Windows Explorer “Web view” enhancement (1998?)
- A set of HTML
template (.htt) files, JScript/VBScript files, and an ActiveX control
for enhanced version of Windows Explorer's “Web view”interface
introduced by WinIE4.
- These files has not been published.
- Languages: JScript, VBScript, Visual Basic 5
- WinIE context
menu items (2002)
- A set of document analysis utilities that can be added to the
context menu of WinIE browser.
- Language: JScript
- A sidebar panel that provides a secondary
browsing context for displaying navigation or table of contents
page, targeted for Mozilla suite browser.
- Languages: XUL,
JavaScript
- A Japanese language pack for LiveHTTPHeaders, HTTP header analysis tool
for Mozilla browsers.
- Language: XUL
- Hatena
Star Everywhere Chrome Extension (2011)
- The "Hatena Star Everywhere" Chrome Extension adds Hatena Star function to every page
opened in your Chrome browser.
- Language: JavaScript
Windows Native Applications
- Text editor (1997?)
- A simple plain text editor with MDI user interface.
- This program has not been published.
- Language: Visual Basic 4
- Message browser (1999?〜2000?)
- A message browser that supports various Internet message formats
such as RFC 822 mail messages, Usenet
news articles, and MIME entities
(including MIME media types such as
message/external-body
,
multipart/*
, and so on), DSNs, MDNs, various content (transfer) encoding such
as Base64, Quoted Printable, uuencoded, ROT13, and ROT47, and various
character encodings such as ISO/IEC 2022 based encodings (including
US-ASCII
, ISO/IEC 8859 coded character sets, EUC encodings, and
ISO-2022-JP
), Shift JIS variants, Unicode encodings (including UTF-1,
UTF-7, UTF-8, UTF-9 (Latin-1 based), UTF-16, UTF-32, and UTF-EBCDIC),
TRON code, and Mule internal encoding.
- This program has not been published.
- Language: Visual Basic 6
- Library: Microsoft Internet Explorer is used as embeded browser (i.e.
the Trident rendering engine is embeded).
- Multimedia screen saver with scripting support (1999)
- A flexible screen saver engine, which can render texts, audios,
and images. With a simple configuration dialog, you can make the screen
saver render a text with some decorations and/or an image or images within
the specified directory (i.e. slideshow). In addition, a simple script
language enables flexible control of objects including texts, audios, and
images. Surprisingly, it can be standalone, in other word, it can be
used as a normal application that is not a screen saver!
- This program was distributed within a limited scope. A “multimedia”
CD-ROM album application was constructed using this engine.
- Language: Visual Basic 6
- Library: For playing mp3 audio files it requires an external DLL file.
Technical Specifications
Web-related Specifications
- The
<urn:x-suika-fam-cx:>
Namespace (2001〜2007)
- A specification that defines the syntax of the
urn:x-suika-fam-cx:
URN NID and its name assignment
process, as well as an RDF/XML-based language for marking up the definition
of names defined in the namespace. There is an
Ajax implementation.
- DOM
Document Type Definition Module (2007〜2008)
- A specification that defines a manakai extension
to DOM for manipulating document type definitions, which can be used,
for example, to generate XML DTD from a program. It is implemented
by manakai.
- Selectors
Serialization Format for Testing (SSFT) Specification (2007)
- A specification that defines a serialization canonical format of
the Selectors language for the purpose of testing of tools. It is
implemented and used by Whatpm.
- SuikaWiki
Markup Language (SWML) (2008〜2010)
- This specification defines SuikaWiki Markup Language (SWML). SWML
is the markup language developed and implemented for SuikaWiki hypertext system.
- manakai's
Conformance Checking Guideline for Obsolete HTML Elements and
Attributes (2010)
- This specification defines authors' requirements for historical
HTML elements and attributes, which are not defined in the Web Applications 1.0 specification or
listed but marked as obsolete, such that conformance checkers can find
authoring errors against these requirements. Use of such
non-conforming elements and attributes are sometimes necessary for
compatibility with legacy or Galápagos user agents and/or
historical authoring practices. A conformance checker that reports a
non‐conforming elements and attributes just as non-conforming is not
useful enough to ease authoring processes in such legacy
circumstances. The scope of this specification is explicitly limited
to the conformance checking of documents (or parts of documents) that
contains obsolete elements and attributes for the purpose of
comaptibility. This specification is developed as part of the manakai project. Although it might be useful to
other parties, the only intended audiences of this specification are
contributors of the project. This specification does not define or
describe any kind of standard.
Translations of Specifications
- Translations of
RFCs (2002〜2003)
- Japanese translations of RFCs related to Internet message formats.
- Translated texts are marked up as well as the original text by an
XML-based language, which is an extension of the
RFC
2629's RFC markup language for including both original and translated
texts and then translated into HTML by an
XSLT style sheet.
- Introduction to
Web Forms 2.0 repeating form control model (2006)
- A Japanese translation of the section that introduces the repeating form
control model in
Web Forms
2.0 specification.
- HTML
5 and Web
Workers (2008, one of co‐translators)
- Japanese translations of HTML5 specifications. A new interactive
interface and tools for translation works has been developed by Wakaba. Since the HTML5
specification adopts a new specification development model, it is
unrealistic to follow the traditional model for the development of a
Japanese translation of a technical specification. The new tools enable
a new style of works, i.e. use of an interactive Web interfaces,
paragraph-level editing, and automatic synchronization with the
original specification text.
- Language used for tools: Perl5, JavaScript