You are here



I tripped across Erik's work while searching for a cascading grid layout. The breadth, detail, and creativity in his work is quite amazing. Many of his pieces play with illusion in the style of M.C. Escher.

Fluent French: Experiences of an English speaker

I tripped across this great article by Eric T. Mueller that details some of the nuances associated with learning the French language from an Anglo's point of view.

Citation: Mueller, Erik T. (1998). Fluent French: Experiences of an English speaker. New York: Signiform.

PDF icon Fluent-French.Eric-Mueller.pdf1.17 MB

WebIssues: An issue tracker worthy of support

WebIssues screen shot

I think any project that could have multiple issues requiring resolution, especially on an ongoing basis deserve an issue tracker, also known as a ticket system.

In the past I have used Eventum, RT, and Bugzilla, Mantis, and the Google Code IssueTracker. My favourite of these is Eventum, but when considering a new tracker I did some looking around.

I have found that most trackers can be divided into:

  • general-purpose trackers (like the ones mentioned above)
  • do everything including tracking trackers (Horde)
  • trackers designed for software development, usually supporting an agile workflow.

While browsing SourceForge I stumbled upon WebIssues. It is a general-purpose tracker but it has some nice features that make it unique.

  • In addition to a web-based client, it has a full-featured cross-platform desktop client with native support for Windows, Linux, and OS X.
  • It supports three different database back-ends, MySQL, PostgreSQL or SQL Server.
  • It has an attractive user-interface yet is fast and solid.
  • It supports different types of tickets, such as bugs and tasks. Each type has customizable attributes and new types and attributes can be added. It even comes pre-loaded with a type called forum that can be used as a simple message board.
  • Reports can be exported to CSV, HTML and even PDF format.
  • It is well documented, including:
    • a comprehensive user manual in English and Polish in online, downloadable HTML, and PDF formats.
    • developer documentation that introduces contributors to the concepts used in the software.

I tried the software and it installed on the server like a dream. It was simply a matter of creating an empty database and user on my MySQL server, unpacking the server component to a directory on my webserver, and running the simple web-based installer. Many applications try to install this seamlessly, but few achieve it without a snag or two.

I was thrilled to discover that not only is the client available as a portable application, but it is packaged in PortableApps (paf) format. It's no secret that I'm a huge fan of PortableApps.

Unfortunately one feature it doesn't have, one that I consider a necessity is an inbound e-mail gateway, so that users can create new tickets and update tickets simple by sending an e-mail to

Of course the beauty of open-source software is that contributions are welcome. I have joined Michał Męciński and the WebIssues team to add an inbound e-mail gateway.

Michał's code is very clean, and I was able to add the new functionality in about 10 hours. It is currently being tested at my site, and I'll merge it with the rest of the project when it has been thoroughly tested. It will still require another 20-30 hours to smooth out the rough edges and document it.

WebIssues started in 2005 as Michał's master's thesis. He made it available publicly in 2006 and it won the Qt Centre Programming Contest in 2008. The current branch was released in December 2011 and the latest release, 1.0.4 was released just a couple of months ago.

If you are considering a ticket system, please take a serious look at WebIssues.

If you think a system like this would be useful in your business but you don't know where to start, please contact me.

A visual explanation of analog dial-up modem handshaking

Tibetan Line Breaking

Tibetan text

From UAX #14: Unicode Line Breaking:

The Tibetan script uses spaces sparingly, relying instead on the tsheg. There is no punctuation equivalent to a period in Tibetan; Tibetan shad characters indicate the end of a phrase, not a sentence. Phrases are often metrical—that is, written after every N syllables—and a new sentence can often start within the middle of a phrase. Sentence boundaries need to be determined grammatically rather than by punctuation.

Traditionally there is nothing akin to a paragraph in Tibetan text. It is typical to have many pages of text without a paragraph break—that is, without an explicit line break. The closest thing to a paragraph in Tibetan is a new section or topic starting with U+0F12 or U+0F08. However, these occur inline: one section ends and a new one starts on the same line, and the new section is marked only by the presence of one of these characters.

Some modern books, newspapers, and magazines format text more like English with a break before each section or topic—and (often) the title of the section on a separate line. Where this is done, authors insert an explicit line break. Western punctuation (full stop, question mark, exclamation mark, comma, colon, semicolon, quotes) is starting to appear in Tibetan documents, particularly those published in India, Bhutan, and Nepal. Because there are no formal rules for their use in Tibetan, they get treated generically by default. In Tibetan documents published in China, CJK bracket and punctuation characters occur frequently; it is recommended to treat these as in horizontally written Chinese.



Simple Copyright Policy: If you want to reproduce anything on this site, get my permission first.