# About JP's Domain

## Introduction

Welcome to my domain...  The domain name is a play on words, because I couldn't think of a more creative one. I kept asking my wife (who is far more creative than I) what my domain name should be. I suspect she got sick of me asking, and this is the result.

This is my personal site and does not represent the opinions of my employer.


## O'Reilly Books

I am the co-author on the following O'Reilly Books.

### bash Idioms

*[bash Idioms](https://www.oreilly.com/library/view/bash-idioms/9781492094746/)*
is an intermediate to advanced discussion of deciphering old bash code
and writing clear and readable new code, with [examples, templates and a
style guide](https://github.com/vossenjp/bashidioms-examples).

### bash Cookbook

The *[bash Cookbook](https://www.oreilly.com/library/view/bash-cookbook-2nd/9781491975329/)*
is part of *[O'Reilly's](http://www.oreilly.com/)* cookbook series, and
with [example code on Github](https://github.com/vossenjp/bashcookbook-examples).

#### Companion Website

We created a [Website for All Things Bash](http://bashcookbook.com/) for
the cookbook. Among other things, it indexes a lot of great material
from the bash source code that most people never see.

Also, check out *[Learning the bash Shell, Third Edition](http://www.oreilly.com/catalog/bash3/index.html)* by our
co-author Cameron Newham. Other bash related titles from O'Reilly include *[bash Quick Reference](http://www.oreilly.com/catalog/bashqr/index.html)*, and *[Classic Shell Scripting: Hidden Commands that Unlock the Power of Unix](http://www.oreilly.com/catalog/shellsrptg/index.html)*. My other co-author. Carl Albing, also wrote *[Java™ Application Development on Linux®](http://javalinuxbook.com/)*.

#### Official GNU and Maintainer Resources

  - *[BASH: The GNU Bourne-Again
    SHell](https://tiswww.case.edu/php/chet/bash/bashtop.html)*
      - *[bash](http://www.gnu.org/software/bash/)*
      - *[Chet's Repository](ftp://ftp.cwru.edu/pub/bash/)*
      - *[GNU's Repository](http://ftp.gnu.org/gnu/bash/)*
  - *[bash FAQ](https://tiswww.cwru.edu/php/chet/bash/FAQ)*
  - *[Details on incompatibility between prior versions](https://tiswww.case.edu/php/chet/bash/COMPAT)*
  - *[Terse description of changes between versions](https://tiswww.case.edu/php/chet/bash/NEWS)*
  - *[Full description of changes between versions](https://tiswww.case.edu/php/chet/bash/CHANGES)*
  - *[Platform-Specific Configuration and Operation Notes](https://tiswww.case.edu/php/chet/bash/NOTES)*
  - *[Basic Installation](https://tiswww.case.edu/php/chet/bash/INSTALL)*

#### Other Resources

  - O'Reilly's *[bash Idioms](https://www.oreilly.com/library/view/bash-idioms/9781492094746/)*
      - [Idioms example code, templates, and style
        guide](https://github.com/vossenjp/bashidioms-examples)
  - O'Reilly's *[bash Cookbook](https://www.oreilly.com/library/view/bash-cookbook-2nd/9781491975329/)*
      - [Cookbook example
        code](https://github.com/vossenjp/bashcookbook-examples)
      - *[A Website for All Things Bash](http://bashcookbook.com/)*
  - O'Reilly's *[Learning the bash Shell, Third Edition](https://www.oreilly.com/library/view/learning-the-bash/0596009658/)*
  - O'Reilly's *[bash Quick Reference](https://www.oreilly.com/library/view/bash-quick-reference/0596527764/)*
  - O'Reilly's *[Classic Shell Scripting](https://www.oreilly.com/library/view/classic-shell-scripting/0596005954/)*
  - *[Bash Guide for Beginners](http://www.tldp.org/LDP/Bash-Beginners-Guide/html/)*
  - *[Advanced Bash-Scripting Guide](http://www.tldp.org/LDP/abs/html/index.html)* (current, excellent)
  - *[Bash Prompt HOWTO](http://www.tldp.org/HOWTO/Bash-Prompt-HOWTO/index.html)* (old)
  - *[BASH Programming - Introduction HOW-TO](http://www.tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html)* (old)

-----

## Site Re-designs

### 2026

I finally got around to migrating this site from my own personal static site generator to [Hugo](https://gohugo.io/) using the [Relearn](https://mcshelby.github.io/hugo-theme-relearn/index.html) theme, which I've tweaked a bit.  That involved converting my "templated" HTML to Markdown, using [Pandoc](https://pandoc.org/), various Bash, and some Perl one-liners.  That took about four days of solid work.  It turns out web technologies have change a bit since the last time I did this.  Who knew? But "static site generators" are not a recognized thing.  When I wrote my own in 2003 I didn't have a name for it, I just knew that I wanted static HTML with a navigation bar.  I was about five years too soon for Jekyll, and ten for Hugo.


### 2003

In September 2003 I redesigned the site format, for the fourth time if I remember correctly. I hope this format will be more simple, and easier to navigate and maintain. (UPDATE: 2006-07-27: But I doubt it is. I'll be re-designing again, using a real CMS this time, Real Soon Now.)

This site was created and is maintained using [GenSite.pl](source/perl.html#gensite), a simple Perl script I wrote to implement a template-based site (now called a "static site generator"). This was needed to achieve my goal of getting rid of all the JavaScript, frames and other junk and am using nothing but HTML with CSS and nested tables. I use a simple text editor to edit templates files, then run my script to regenerate the entire site, including navigation menus, in seconds.

I made a conscious decision to stay as simple as possible while still being usable and useful, and while still leaving display choices up the the viewer. One of the things that bothers me quite a lot of badly designed site that force you to view them in a certain window size. If I wanted to see my web sites in 800x600, I would not have a 20 inch monitor\! Thus this site allows you to view in any window and font size your browser permits.

That also raises the question of *[line length](http://www.webstyleguide.com/type/lines.html)*. One of the reason many annoying sites force a window size is to gain more control over formatting, particularly graphics layout and line length. Lines that are to long are more tiring to read. This site has a very simple solution. Resize your browser window to any line length you find comfortable. Try adjusting your font size while you are at it.

I found the following helpful at the time of the redesign in 2003:

  - **The *[HTML Code Tutorial](http://www.faqs.org/docs/htmltut/index.html)***
  - The *[Web Style Guide](http://www.webstyleguide.com/)*, 2nd edition
  - *[CSS Reference Table](http://builder.cnet.com/webbuilding/pages/Authoring/CSS/table.html)*
  - ESR's *[site design notes](http://catb.org/~esr/site-design.html)*
  - The *[W3C MarkUp Validation Service](http://validator.w3.org/)* and *[W3C CSS Validation Service](http://jigsaw.w3.org/css-validator/)*. In fact, all the HTML and CSS code should be (mostly) valid, even
    though I did not mark every page.


### 2001

According to [The Internet Archive](https://web.archive.org/web/20010401184739/http://www.jpsdomain.org/) this site has been at this address since at least 2001-04-01, but it's older than that.  I experimented with MS FrontPage for a while, but the HTML code that churned out was **so** awful I stopped using it.  I'm don't recall what other tools I may have used until the 2003 re-write.

#### Favicon

I created my `favicon.png` (which started as `favicon.ico`) around this time as a play on the basic DOS/Windows `C:\>` prompt, in the garish blue background/yellow font I used for terminal windows at the time.  I had been playing with DOS batch files since 1986 or so, but was getting more into "scripting" at the time.  I've kept it ever since, converting formats as needed.


### 1995

This site started in 1995 as [JP's Boring Homepage](https://web.archive.org/web/19961220082218/http://www.netaxs.com/~vossenjp/), my "home" page on my ISP at the time, [Netaxs](https://web.archive.org/web/19961220082218/http://www.netaxs.com/) (Net Access -- Philly's Original
Internet Access Provider).  I don't recall how I wrote it, but it was likely in Notepad.

-----

If you have any comments about the site, additions to my tools pages, or
if you find something broken, please email me at {{< snippet "contact" >}}.
