Database Tables

  • User
    • username: 50
    • firstname: 50
    • lastname: 50
    • email: 255
    • password: 40
    • phone: 20
    • balance: money
    • qunid
    • mnuid
    • isactive
    • ismem
    • ispaused
    • startdate
    • memdate
    • expiredate
    • pausedate
    • returndate
    • leavedate
  • Qunit
    • usrid
    • parentid
    • nextid
    • childid
    • name: 50
    • desc: 255
    • isimg
    • ishidden
    • isxflag
    • pos
    • endpos
    • favid
    • favendid
    • sldid
    • sldendid
  • Menu (bookmarks)
    • usrid
    • parentid
    • nextid
    • childid
    • qnnid
    • text: 50
  • Qunitnode
    • mnuid
    • qunid
    • nextid
    • favid
  • Favnode
    • qunid
    • imgid
    • nextid
  • Image
    • qunid
    • qpos: short
    • width: short
    • height: short
    • ext: byte
    • isfav
    • iscap
    • isaltcap (tags)
  • Caption
    • imgid
    • iscap
    • text: 80
  • Slide
    • qunid
    • nextid
  • Imgpanel
    • sldid
    • imgid
  • Textpanel
    • sldid
    • text: 32K

Implementation Steps

  1. Read Murach's Java Servlets and JSP book
  2. Implement local mode
  3. Implement server-side code
  4. Write basic Piqutags design specs
  5. Implement Piqutalk 0.1, console-based
    • Token parsing and building program tree has already been implemented
  6. Finish Piqutalk 1.0, console-based
  7. Write advanced Piqutags design specs
  8. Implement PQTG-to-HTML converter
  9. Implement monospace mode
  10. Implement rich-text mode
  11. Integrate Piqutalk with Piqutags (monospace/rich-text modes)
  12. Implement PQTK-to-JS converter
  13. Recruit GitHub open source coders/testers
  14. Implement Jabbler: web-based Scrabble game, user vs. robot
    • Jabbler is currently console-based Java Scrabble game
  15. Implement web-based chess and backgammon:
    • Play against robot which makes random but legal moves
  16. Implement Jabbler: web-based, 2-player
  17. Implement monospace mode, dual user
  18. Implement rich-text mode, dual user
  19. Implement Piqutalk SDK
    1. WYSIWYG Piqutags editor
    2. Piqutalk code editor
    3. Convert Jabbler from Java to Piqutalk
    4. WYSIWYG board/piece editor
    5. Codeless prototyping system
  20. Design website
  21. Launch website
  22. Beta test Piqutary
  23. Advertise using Google AdWords
  24. Accept credit card payments
  25. Hire Java programmer with expertise in making websites scalable


Piqutags is a simplified markup language used to replace HTML. Arbitrary Piqutags code can be embedded in the Piqutalk echo statement. Piqutags syntax, where asterisk (*) means repetition, is defined as follows:

  • Tags:
    • [tag]
    • [tag: body]
    • [tag (fld val)*: body]
  • Body:
    • text
    • [: text]*
    • [(fld val)*: text]*
  • Call Piqutalk code:
    • [expr: <expr>]
    • [exec: <stmt>... ]
    • [pqtk: <path>]

Monospace Mode

In monospace mode, all body text rendered to the screens of end-users is in a mono-spaced, typewriter-style font. Every character takes up 2 square cells: an upper cell and a lower cell. Superscripts and subscripts are handled by employing a vertical offset of one square cell. Header text is also mono-spaced, and each character takes up 2 oversized square cells.

Additional Formatting

The grid of characters can be subdivided into panels, which can themselves be subdivided into more panels, and so on. Any panel can contain zero or more text boxes, which may overlap each other. Vertical grid lines each take up one square cell per row of square cells. Horizontal grid lines are displayed in the same pixel row as underscore characters. Any row of square cells containing a horizontal grid line which is 2 pixels wide is taller by exactly one pixel. The following bracket characters: ( ) [ ] { } can be oriented vertically or horizontally, taking up a single column or row of at least 2 square cells, respectively. Widgets such as check boxes, radio buttons, and combo box arrows take up 4 square cells (2 by 2). Images, animations, and diagrams are contained in canvas objects, which can appear anywhere panels can appear.

Rich-Text Mode

In rich-text mode, a given header or paragraph of body text can consist of a single variable-width font. Paragraphs have before/after spacing, left/right indent, and line spacing (single, double, 1.5, etc.). Panels have margins on all 4 sides. In both rich-text and monospace modes, text is rendered to the HTML5 canvas object. Some features like form fields and submit buttons use hidden HTML.

Piqutalk Scripts

Members are allowed to upload Piqutalk game scripts (2-player board games), and all users can download scripts created by the members. Piqutalk is a new open source web programming language used to create apps which run locally, in your browser. Piqutalk is accompanied by Piqutags, a replacement for HTML. All or most Piqutary profits are distributed to the app writers in proportion to the user-minutes accumulated by each app. Piqutalk includes functionality which detects inactivity, so idle user-minutes don't count. Members can post in forums, play in tournaments, and hold player rankings.

About Me

I am Mike Hahn, the founder of Piqutary.com. I was previously employed at Brooklyn Computer Systems as a Delphi Programmer and a Technical Writer (I worked there between 1996 and 2013). At the end of 2014 I quit my job as a volunteer tutor at Fred Victor on Tuesday afternoons, where for 5 years I taught math, computers, and literacy. I'm now a volunteer math/computer tutor at West Neighbourhood House. My hobbies are reading quora.com questions/answers and the news at cbc.ca. About twice a year I get together with my sister Cathy who lives in Victoria. She comes here or I go out there usually in the summer. A few months prior to starting my Piqutary project I used to lie on the couch a lot, not being very active. Now I'm busy most of the time. I visit my brother Dave once a month or so and I also visit my friends Main and Steph once or twice a month.

Contact Info

Mike Hahn
2495 Dundas St. West
Ste. 515
Toronto, ON  M6P 1X4

Phone: 416-533-4417
Email: hahnbytes (AT) gmail (DOT) com
Web: www.hahnbytes.com

[ Back to Top ]