About This Site

Update: As of June 2018, Edge 42 finally fixes its toolbar-overlay bug present in Edge 41 and earlier. Since there's not much Windows 10 users can do to avoid the update that includes the fix, Edge has joined the list of desktop browsers usable for this site. More details here.

Update: As of May 2018, the space formerly reserved for a scrollbar below navigation toolbars has been dropped, because Firefox fixed its temporary toolbar-overlay issue; the space didn't fix Edge's overlay issue anyhow; and the space was subject to gesture-oriented scrollbar settings on Macs. This change does not impact mobile browsers; desktop visitors to this site are encouraged to upgrade Firefox if used, and avoid using Edge.

Update: As of February 2018, most of this site is now explicitly mobile friendly and device-neutral, thanks to HTML viewport settings; CSS magic to scale images and scroll toolbars, tables, and code; assorted page redesigns; and the copious free time of the site proprietor. The CSS tricks also partly worked around a toolbar-overlay desktop caveat mentioned below, but this was temporary per the later updates above.


This website hosts hundreds of pages spanning more than two decades. Its programming-related topics include books, free software, industry trends, and more. All of its content can be reached from its bottom-of-screen toolbar and search page. Scroll or swipe the toolbar on smaller screens to access all its links (tap first to activate where required); its leftmost "Python Powered" image jumps to this site's home page.


This site grew up with and marginally prefers to be viewed on desktop browsers. It has been verified to render well on all desktop browsers in common use today—including Chrome, Firefox, Safari, Opera, Internet Explorer, and Edge. Per the updates above, a desktop-only caveat regarding toolbar overlays on URL hovers in Edge and Firefox was initially addressed by redesign, and later made moot by fixes in these browsers.

This site can also be read on and has been optimized specifically for mobile browsers—including Chrome, Safari, Firefox, and Opera. Although nearly all content here is now mobile-friendly, some pages may still be best viewed in landscape mode, due to this site's wealth of text-oriented material. There's more on mobile-browser usage below.


In terms of tech and design, this site uses:

Some of the above is orchestrated by the site's .htaccess and CSS files. JavaScript is also used, but is optional, and run only for anonymous analytics if enabled (view this page's source to see how). Mobile-device support employs additional HTML and CSS techniques, per the next section.


This site is readable on mobile browsers, and as of February 2018 has been heavily tuned to support smaller screens specifically. Mobile viewport settings alone worsened as many aspects as they improved, but usability issues were fixed with extra design changes, including:

Desktop users: shrink your window to simulate these changes' effects; they are especially helpful on smaller screens.

That said, despite the redesign, a few parts of this site are still less than ideal on mobile devices, and others may never be optimized for mobile use. Code listings, for example, may require swipes to view in full; the class workbook is legacy desktop content generated by Word that cannot be easily changed; and the HTML user guides of desktop-only programs here have been converted, but for online use only.

In addition, given the volume of content here—most of which is text-based and some of which dates back to the mid-1990s—landscape orientation may work better for some pages on smaller screens. Naturally, performance and preference may vary per device, browser, and user, and some browsers have reading-mode converters and text-scaling settings that may further improve user experience.

Like them or not, smaller screens are convenient but inherently limited; the goal here is to accommodate by enhanced style, not to pander by reduced substance. This site's traffic is currently 90% desktop browsers, and its main reason for being is to support readers of books and learners of code. If you're not interested in reading words, well, how did you ever get this far?...

[Home] Books Programs Blog Python Author Training Search Email ©M.Lutz