Evolution: a simulation

December 14, 2020

This is a video report of a software project that created the conditions for evolution in an attempt to learn something about how evolution works in nature. This is for the programmer looking for ideas for interdisciplinary programming projects, or for anyone interested in how evolution and natural selection work. 56 mins. It’s available on YouTube and Vimeo:



Linux Mint 20/Xfce boots with no desktop icons or background

September 21, 2020

Symptom: Occasionally Linux Mint 20 with Xfce boots up with no desktop icons and no background. The operating system works, but you have to use means other than the usual desktop icons to invoke programs.

Solution: On this computer, we can correct the problem if we invoke a terminal (with ctrl-alt-T or ctrl-alt-F2), delete the contents of ~/.cache/sessions/, then reboot.

Leave a comment if you have an explanation why this problem occurs or why this solution works.

Linux Mint 20 runs on X570 Aorus Elite motherboard

June 22, 2020

Linux Mint 20 Beta is performing surprisingly well on a Gigabyte Aorus Elite X570 motherboard. A Recommended combination.

The components that are working include: Ryzen 9 3900X, 32GB of DDR4-3600 RAM, Samsung 970 EVO NVMe M.2 SSD, Samsung 860 EVO SATA III SSD, USB, gigabit Ethernet, Nvidia RTX-2070 Super. This is an EFI installation.

XMP must be enabled in the BIOS to get the full rated speed of Corsair LPX DDR4-3600 RAM.

CPU and Nvidia temperature sensors work.

Virtualization for Virtualbox works after enabling SVM in the BIOS.

I did not test on-board audio because I use simple USB audio adapter instead, which is well-supported by Linux. Jackd2 works.

(Sorry, comments disabled because of spammers. Feel free to contact me for discussion.)

How we got involved making word search puzzles

May 28, 2020

A colleague gave us a $100 gift certificate for Digital Ocean, provider of cloud computing and storage. The certificate was good for 60 days — use it or lose it.

Our first use of the gift certificate was to set up a virtual server for some of my wife’s domains. That server has been humming along nicely, serving six domains, two of which are WordPress sites. That cost only $7 per month, so we still had a large balance on the gift certificate. We’ll continue paying for that server even after the gift certificate expires.

Next we created another virtual server and installed an open-source photo organizing application, but it was so confusing to use that we deleted that server after just one day.

We created another virtual server and installed video conferencing software for my wife to use for business purposes, but within ten minutes it became clear that it didn’t meet her needs, so we deleted that server.

We only had a few weeks left to think of some way to use the rest of our $100 cloud computing gift certificate.

Several years ago I experimented with algorithms to create word search puzzles. They required a lot of CPU resources back then, so I thought I’d try making a large enough puzzle to keep a server busy for a while. Perhaps we could make a huge novelty puzzle that we could sell.

I extracted a vocabulary list of Shakespeare’s works from Gutenberg.org and discovered that it only took a few minutes for my laptop to generate a puzzle from those 26,000 words without any additional CPU resources. My wife converted the puzzle into a marketable poster, I made a video advertisement for it, and it’s now available for sale on ptolemypress.com.

We still had time left on that Digital Ocean gift certificate. I knew that my algorithm for generating word puzzles gets exponentially slower for longer word lists, so I thought we might keep some servers busy if we just had enough words. I found a huge list of 163,000 city and place names at geonames.org, and that did take a few hours of CPU time to create a puzzle.

We had up to three Digital Ocean servers simultaneously generating puzzles from the list of city and place names. Each server tried to fit the words into a different size of letter grid. Each attempt took about seven hours; sometimes the algorithm finished, other times it aborted after failing to fit all the words.

In the end, it was my own laptop that succeeded in fitting all the words into the smallest size letter grid, so we didn’t use the results from the cloud servers after all.

We did, however, end up with what we think is the world’s largest word search puzzle.

My wonderful wife converted the raw text file of letters into a printable poster. Together we wrote an article about how we made the puzzle. I created a PDF of the article using LaTex and she created a pretty WordPress page from that. Together we printed the puzzle on letter-size sheets and taped them to a wall.

She liked the idea of applying to the Guinness Book of World Records, so we’re pursuing that, a process that will span several months.

We still have a balance of $83.90 on our Digital Ocean gift certificate that will expire in one week, and no more ideas on how to spend it.

And that’s the story of how we got involved in word puzzles.

Triggering Alexa from TV sound

May 13, 2020

There’s a rumor on the internet that Alexa ignores commands if it hears audio that is missing frequencies between 3000 and 6000 Hertz. That’s how TV commercials can say “Alexa” without triggering the Alexa devices in the room. So I fact-checked it.

I recorded my voice saying “Alexa, what is the date today?” and made two copies, one full-spectrum and one with frequencies between 3000 and 6000 Hz removed. Below is the frequency spectrum for each file, and the audio clips are attached.

I played each audio clip using an external speaker about five feet from our Alexa device.

Results: Our Alexa device responded to both clips. The rumor is unconfirmed.

The WAV audio clips can be downloaded from here and here.

The corresponding spectra are:

Installing Xubuntu 16.04 on a Sager NP8952 laptop (Clevo P950HR)

November 25, 2017

Here are some notes for anyone attempting to install Xubuntu 16.04 on a Sager NP8952 laptop (Clevo P950HR). Most things work well enough. The initial installation onto the primary SSD along side Windows 10 was uneventful, from a live USB created with unetbootin.

System components:

CPU: Intel Kaby Lake i7-7700HQ
GPU: GTX 1070 (8GB) MAX-Q, with Optimus
Primary drive: WD M.2 SSD, with Windows 10 preinstalled
Wireless: Intel AC8265
Audio: Intel HD + Sound BlasterX

Here is the status so far:

Bluetooth – works.

Camera – untested.

conky display

Dave’s conky display, Xubuntu, Sager NP8952 laptop

Card reader – untested

CPU frequency scaling – seems to work with Intel p-state driver after some fiddling. There were times when the driver unnecessarily kept the CPU frequency at maximum, so I tried a variety of fixes including installing and configuring laptop-mode-tools, xfce4-indicator-plugin, cpufrequtils, and perhaps others. Not using cpufreqd, nor tlp. cpufrequtils is currently disabled in /etc/init.d/cpufrequtils. Frequency scaling seems to be working now and I’m no longer sure which tweaks were necessary.

External monitor – works with HDMI.

Fingerprint reader – untested.

Keyboard backlight – permanently on, steady blue, no way to control it.

Keyboard hotkeys – some work: screen brightness, volume, suspend, external monitor, and others.

Nvidia proprietary driver – works (384.90).

Shutdown – (1) use “systemctl edit cups-browsed.service” to reduce the CUPS timeout to a few seconds as described in https://askubuntu.com/questions/760952/slow-shutdown-on-ubuntu-16-04-lts-stopping-thermal-daemon-running-fit-make-remo; (2) add acpi=force to linux command line to allow shutdown to finish.

Sleep/restore – the headphone jack is inoperative after suspend/restore.

Sound – (1) the speakers were muted at first: use alsamixer to unmute the speakers; only need to do this once; (2) the headphone jack is inoperative after suspend/restore.

Touchpad – works.

Wifi – works

You can get a copy of my conkyrc file here. Just rename it to .conkyrc.

Announcing neural2d, a neural net optimized for image processing

November 24, 2014
Neural2d is an open-source neural net simulator with features for image processing.


Video introduction (YouTube, 11 min.):  https://www.youtube.com/watch?v=yB43jj-wv8Q
Landing page with links: http://neural2d.net


✔ Optimized for 2D image data — input data can be read from .bmp image files
✔ Neuron layers can be abstracted as 1D or 2D arrangements of neurons
✔ Network topology is defined in a text file
✔ Neurons in layers can be fully or sparsely connected
✔ Selectable transfer function per layer
✔ Adjustable or automatic training rate (eta)
✔ Optional momentum (alpha) and regularization (lambda)
✔ Any layer(s) can be configured as convolution filters
✔ Standalone console program
✔ Simple, heavily-commented code, < 3000 lines, suitable for prototyping, learning, and experimentation
✔ Optional web-browser-based GUI controller

Installing Xubuntu 14.04 on a Sager NP8268-S laptop (Clevo P150SM-A)

October 5, 2014

Here are some notes for anyone else attempting to install Xubuntu 14.04 on a Sager NP8268-S laptop (Clevo P150SM-A).

System components:

CPU: Intel i7-4810MQ
GPU: Nvidia GTX 870M
Primary drive: Samsung EVO SSD, with Windows 7 preinstalled
Wireless: Intel AC7260
Audio: Intel HD + Realtec ALC892

The installation along side Windows 7 went fairly smoothly and the end result is a beast of a machine. But there were a few rough spots, documented below.

Continue Reading »

New article: Commentary on Hawking’s No Black Holes

February 24, 2014

What was Stephen Hawking talking about when he said there are no black holes? Here’s an explanation for the non-scientist.

Click the icon below for a PDF version of the article. Right-click and Save-As to save a copy.

Click for Commentary on Hawking's No Black Holes

PDF version


In 2013, the media picked up a technical presentation by Stephen Hawking in which he stated that “There are no black holes.”  That’s a curious viewpoint from someone who spent much of his career working out the physics of black holes. Unfortunately, the rest of Hawking’s presentation was too technical for the media to touch, leaving the general public in need of new mental images to replace all those missing black holes. This paper is an informal discussion of the technical parts of Hawking’s paper without undue jargon and math.


New Video! The Care and Training of Your Backpropagation Neural Net

January 7, 2013

Neural Net Care and Training

For the neural net beginner, an introduction to all the concepts and abstractions you need to know in order to gain an intuitive understanding of how these crafty little neural nets learn to do anything at all. We’ll discuss practical tips on preparing training data, and strategies for solving various kinds of problems. We’ll discuss:

  • Review of how a backpropagation neural net works
  • Type and range of the input and output data
  • Preparing training data
  • Training strategies
  • Adjustable parameters for learning rate and momentum
  • Visualizing how a NN solves a problem – a geometric interpretation

Video link –>  http://vimeo.com/technotes/neural-net-care-and-training



Powered by Wordpress and MySQL. Theme by Shlomi Noach, openark.org