Posted on Leave a comment

Tidying Up Digitally

Marie Kondo is an expert on tidying a house. Her Netflix series Tidying Up with Marie Kondo and two books (both of which are worth reading, best in chronological order) are best-sellers:

Continue reading Tidying Up Digitally

Posted on Leave a comment

Generic Roadmap

This is meant to be a reminder of important issues/decisions that already have some thought put in them (usually by others).

Stick with what we know in the marketing channels we know. Expand products, and channels for those products.

Posted on Leave a comment

Kindle Paperwhite 4th Gen

I've used a Kindle since the Kindle Keyboard (3rd gen), and since then purchased and used the DX for a while (the much larger model). On 06 September 2012 the Kindle Paperwhite was released and I registered mine on 10 September. I broke that model within six months by wedging it in a bag that had too many objects in it, but Amazon sent out a replacement free-of-charge (which included free shipping, and I live outside the United States).

Continue reading Kindle Paperwhite 4th Gen

Posted on Leave a comment

Xiaomi – Brand on the Rise

In my household we have been introducing Xiaomi products for the past six months. Overwhelmingly positive, but not without a hiccup here and there. In general, there is an odd mixture of: quality, design, and value. I say odd because generally those things don't go together. Great price, good looks, and works well. Not perfect, but nothing is. Xiaomi may have much bigger rivals, especially in China, but they have such a strong combination that they are able to compete with, and in some cases beat out such giants as Samsung in markets like India.

Continue reading Xiaomi – Brand on the Rise

Posted on Leave a comment

Server-Side Analytics and NoJS

The current system of analytics tracking is so very broken, let us count the ways:

Most solutions require third party trackers

  • These are easily blocked by third-party ad blockers/privacy tools
  • They are mostly javascript (and javascript can be disabled)
  • They are a privacy nightmare, even when implemented properly
  • They slow a site down by increasing http requests and the overhead of additional offsite requests

Most self-hosted solutions are equally bad

  • Most self-hosted solutions, including open source, require either a cloud service, (again, the problems above),
  • or a full application with mysql as a database (large overhead for small, low-volume websites).

Return of Weblog Analysis

What is needed, with a bit of fine tuning, is a basic weblog analysis. After all, most of what is desired can be managed through http headers, including using session and tracking cookies, all accessible from well-configured weblogs. In turn weblogs can be parsed and information structured and placed into additional logs and/or sqlite databases, which can then be accessed via clients for realtime or reporting data.

Apache log content available

Request information

  • Host
  • URL
  • Query String
  • Referer

Requestor information

  • Client IP address (which can be then compared with GeoIP)
  • Date/time of request
  • User-agent
  • Cookie information

HTTP Cookies

Here is where the meat and potatoes are located. Of course initial requests may not have cookie data, but subsequent requests certainly can, including session (encrypted even) and user tracking (clickstream) cookies, including encrypted usernames/passwords. Shopping carts can be included in cookies (and therefore in http log files), and even properly annotated internal links. And all this without any javascript.

Apache per user Sessions

Apache supports user sessions, and also encryption of those sessions prior to being written to a database or http cookies.

Where Javascript is Needed

CSS Media Queries can help with responsive design detecting a viewport, but if a click needs to be detected or intercepted by the browser, without a new page being requested, that needs javascript. For example, if an image were to be a preview screen for a video, and on-click a video player were to repalce the preview image, and play, that would require javascript. If however, a new page were to be loaded, which also included a video player, and that video to begin playing, that would not require javascript.

The Calculated Payoff of no Javascript

If the cost of calling a new page were reduced below that of loading javascript, and then calling that javascript, then javascript would not be needed. In the case of the video player example above, if an html5 video player implemented minimal javascript, then it could outperform (even when requiring a new page to begin playing a video).

Posted on Leave a comment

Inkscape – Open Source Vector Graphics

Inkscape is an amazing vector graphics editor. It is free and open source and works on a variety of platforms, including Linux, Windows and OSX. Inkscape replaces Corel Draw and Adobe Illustrator and can read their files, and is a first class citizen among these other editors. > This page will be semi-regularly updated to put my own Inkscape experiences into words. Last updated 19-Mar-2019.

Inkscape on Linux (Debian)

Install Inkscape from flakpak:

sudo apt install flatpak -y
sudo flatpak remote-add --if-not-exists flathub
sudo flatpak install flathub org.inkscape.Inkscape
sudo flatpak update -y

Adjust the shortcut to run flatpak run org.inkscape.Inkscape

Inkscape on OSX

Unfortunately the mainstream OSX release runs on xQuartz which is slow and doesn't support the standard OSX keystrokes and menus. Plus the windowing is not flexible enough. The main branch has continued development while the idea is to get a native release working with Gtk 3, but it is unclear if or when that will take place. For years I have used an old 2013 release from Valerio Aimale. There is now a 2017 release for Inkscape 0.92.2 but it doesn't run on OSX 10.01 (Yosemite), so I am unable to test or use. While s_uv is working on a next version of OSX with Gtk integration (called OSX Menu), it still is wrapped in xQuartz, with the same issues. As of mid-2018 I no longer use OSX, so things may have changed since then.

Inkscape Features and Functionality

  • Inkscape Keyboard and Mouse Reference I use Inkscape as a drawing and illustrating tool and also for editing images in terms of compilations, extraction and svg-ification, logos, book covers, basically everything under the sun. As with any tool, getting efficient with Inkscape is a discovery process with a learning curve. As well, I happen upon a variety of features that continue to amaze, including:
  • Barcode generation: > Extensions > Render > Bar Code
  • etc. Inkscape supports extensions including:
  • Inkscape Map Inkscape SVG files to HTML image map or coordinate list
  • Inkscape Table Support
  • Etc.
Posted on Leave a comment

2017 Responsive Design

Zurb's 21 Responsive Design Trends That Will Shape 2017 is useful reading. Of course not everyone will agree on 21 trends, and 21 isn't actually helpful to focus on. Nonetheless, many of these should/will need to be dealt with in 2017. Here are the one's I found most useful:

Split Screen

  • Divide a site into two parts, possibly with distinct navigation
  • Evaluation: Maybe just a niche thing, but might be interested on sites that have task accomplishment (ecommerce, elearning)

Live Product Preview

  • This might not be any more than video, otherwise we are dealing with looping animations, truly annoying
  • Evaluation: More video to show and tell, also free/trial use of offer, lower barrier to adoption

Vertical Navs

  • Vertical menus? Maybe, or just some other thinking
  • Evaluation: vertical is still horrible on mobile, but think about nav innovation, some is needed


  • Yes, cards
  • Evaluation: yes, cards

Video headers, backgrounds

  • Not sure about this, but likely gonna happen
  • Evaluation: Everything gets a head, background, and icon these days

Large Screen Design

  • Damn right
  • Evaluation: came up with the same conclusion 6 months ago


  • Flexbox and Flexbox
  • Evaluation: See if it helps/hurts with image media-queries for responsiveness

Atomic Design

  • Modules, that is not comprehensive design, can be faster, and better
  • Evaluation: can cause overhead, slowness in terms of implementation, but a well-thought out modularity (in terms of visual components), may be effective.

App-Influenced Design

  • Not sure if this is a great thing, but it definitely does exist
  • Evaluation: As long as usability, navigation ease, and task completion are high, should remain an aesthetic issue

Ghost (Outline) Overlays / Buttons

  • Sure makes sense. Again, as long as usability is maintained.
  • Evaluation: Again, as long as usability is maintained.

Gradient Backgrounds

  • Why not
  • Evaluation: Why not

Responsive Images

  • Still a thing
  • Evaluation: Yes, and make it better