Following study of psychology, sophomore year at Reed College and subsequent independent study of architecture and designing and building homes…

1979 Graduate from Portland State University with civil engineering degree, structural option. Dean of the engineering department offers me a teaching/research position (that I had not applied for) if I would continue with graduate school with a thesis subject supporting research on the post buckling behavior of beam columns, already funded by the Bonneville Power Administration which wished to hang more wires on their transmission towers if they were able to calculate how defection in the members of one tower stressed to the post buckling level might not completely collapse after redistribution of the load to surrounding towers.

In the post buckling stress range of a beam column, the material properties are non-linear, the geometry becomes non-linear because column deflection induces moments, and the ultimate load you seek to determine coincides with zeroes on the diagonal of the stiffness matrix. As you approach the solution, roundoff error predominates and the solution stops converging. Designing transmission towers was a long way from my interest in architecture for which I had gotten a structural engineering degree. The mathematics and computer programming became more interesting than writing up my thesis.

Also, I had bought a home and the mortgage interest rate in the recession of 1980 was 19% so there was an opportunity cost in completing my thesis, beyond the research and writing the report for the funder.

1983 General contractor I am building a 2032 expansion of their main office for, buys a Texas Instrument Professional Computer with MSdos 1.25. They give me the keys to their office so I can teach myself how to use it on my own time and then perhaps instruct them. It only has Basic programming language. I try to write a graphic editor in basic. That is so slow that I teach myself assembler. MSdos 1.25 debug had no assemble command so I had to enter assembly language code as bytes making me very sensitive to instruction length.

May 1984 Purchase NEC APC personal computer to start software business. This model was the machine of choice for Autocad because of its advanced separate gaphics coprocessor. Both the text and the graphic coprocessors could do hardware windows – the fonts were programmable for Japanese Kanji characters. It came with a whole bookshelf of manuals including source listing for the hardware specific code supporting MSdos 2.11.

My first software product was a graphics ram disk. The NEC APC graphics memory was not addressable by the cpu. To write to it you had to draw with the graphics coprocessor. It made a very good ramdisk because it didn’t use any system memory and unless you were running a graphics application, that graphics memory wasn’t being utilized and could be blanked and repurposed for file storage. You could load all your MSdos utilities into this graphics ramdisk and remove your 8″ floppy disk which because of its size otherwise would be spinning constantly because it took too long to start up . You could avoid buying a hard drive. NEC Home electronics purchase a site license from my for their San Jose corporate office.

The NEC Information sales rep for Portland, Oregon became interested in my work when he sought to supply the California Department of Justice’s first statewide system of desktop computers. The bidding specs required that these desktop computers be network capable between themselves and with the mainframe in Sacramento. NEC.

1985 NEC Information Systems hired me to write the distributed peer to peer network print system software layer above MSdos 2.11 for the then current NEC APC III. MSdos was not a multi-tasking operating system and there was no internet yet. The rest of the network layer was written by a company called Kantek which was later purchased by Standard Microsystem Corporation. Our system was the only network system that was demonstrable by the California Department of Justice bidding deadline and which also met all of their original specifications.

Returning home from working with Kantek for that project, I was interested in developing my own full network layer and in task switching MSdos more generally.
I was able to run Windows 386 on a NEC APC III without a hard disk from a 2.8MB floppy and programming the bios to be writable so that unused space could be used as a ramdisk, protecting bios code as hidden files. Since Windows for Workgroups already supported networking, it didn’t seem productive to try to develop my own MSdos proprietary network layer. In reverse engineering MSdos 3.xx, I discovered that it contained network hooks for Microsoft use that it was not disclosing to competitors like Novel Netware which only used the documented interrupt 21h to intercept all system calls, not just the ones it needed to know about that were redirected. Novell eventually bought SUSE linux.

To write Windows visual apps, you needed to license their development software and purchase their documentation. I suspected that their documentation for competitors was also less efficient than the method they used internally. So never got interested in writing windows programs. I wrote my own Dos full screen text editor that supported specifying a rectangular block of text in one document and importing it into a second document. That was helpful in text that was two column as in code with comments. I wrote my own disassembler that buffered output in lines instead of making a system call for each character output. I added the capability of outputting lists of jump, call, and interrupt targets, as well as data references, and integrated this with dissassembly to generate labels consisting of the binary address reference prefixed by the letter O. I rewrote the entire hardware code of my NEC APC. I wrote a background print spooler that released itself from memory when done. I wrote system software to program a secondary PCI video card initializing it at MDA io ports and memory so that a graphi program could be debugged in dos with the graphic output going to the primary VGA adapter and the debugger output displaying on the secondary adapter. Later I integrated this with the Ladsoft debuger that had syntax highlighting. All of this was intriguing but not useful for making a current living as a programmer while supporting myself in construction.

2005 I started using opensource Linux in preference to Windows. Immediately liked its opensource philosophy which is like the academic world where you build on the work of others before you and give them credit for their contribution instead of trying to make a monopoly based on proprietary code and vertical integration forcing you clients onto an upgrade license treadmill.

September 2008 daughter completed second master degree, this time in Library and Information Science. Her first library position is already using https://www.ncomputing.com – note that their most recent workstation virtualization solution is using a raspberry pi!

10-27-2008 I downloaded Ubuntu 8.04.1 live CD with MDM from Centro de Computação Científica e Software Livre (C3SL), A Universidade Federal do Paraná, Brazil.

Brazil had decided to discontinue use of Microsoft products in their schools and to develop their own system based on free opensource software. The graduate students that developed MDM for Ubuntu 8.04.1 graduated and went on to their professional careers. At this point Brazil made the fateful decision to contract with both a foreign for- profit company developing a proprietary multi-seat version of first Ubuntu, and then CentOS linux, and a Brazilian for-profit company providing add-in low wattage video cards.


In the mean time, Linux has developed the OS system infrastructure for multi-seat and a command line utility for assigning seats. There are new hardware options for seats that don’t require special motherboards with lots of empty slots for add-in video cards. ThinNetwork doesn’t want to update is drivers for theirTN-502 add in video cards for more recent versions of Linux and Userful now requires not only your original per seat license, but a new annual subscription for updates. Userful is also reinventing itself as a digital signage company which is likely more profitable than providing public libraries and schools.

11-21-2011 I first download and install demo 2 station license of Userful Multiseat based on Edubuntu 10.04 Linux. Userful discontinues support for multi-seat based on multiple video adapters.

2-24-2012 I purchase HP T200 zero client, Userful now based on CentOS linux. Stable under USB connection to T200, but never was stable for me using gigabit network connection.

Userful discontinues multi-seat support for HP T100 and T150 USB 2.0 connected zero clients .

Userful discontinues multi-seat support for Atrust m220 network connected zero clients.

Userful no longer considers HP T200 zero client a supported zero client although their recommended zero client contains the same chips inside.

Faced with the frustration of having bought HP T100, T150, T200 and Atrust M220 zero clients to use with my Userful license, I set out to develop my own fully opensource solution that would also not be limited to my 2 seat license. This web page describes my efforts.

2-22-2017 https://www.ncomputing.com/news/press-release/ncomputing-launches-rx300-cloud-ready-thin-client-built-raspberry-pi-3/2017-02-22

11-29-2017 I purchase Raspberry Pi 3B.  https://www.raspberrypi.org/

Trying https://www.berryterminal.com/doku.php/berryboot  for installing and booting multiple OS on the Raspberry Pi3B. It has a very nice BerryTerminal for connecting to Edubuntu with LTSP. Has not been updated for compatibility with newer versions of Edubuntu.

Trying http://pinet.org.uk/ For an updated approach to set up a classroom full of workstations. The Raspberry PI is so powerful that it can run many educational apps locally minimizing load on the central file server (compared to LTSP with other thin clients). It is not currently compatible with BerryBoot, so it will need a separate microSD card of its own. Project doesn’t appear to be being updated. I now recommend using Raspberry Pi 4B with x2go clients with x2go server.

ZeroClients tend to be priced for the non-competitive Microsoft enterprise server market. Because the Raspberry Pi is part of a non-profit educational project that is large scale, its pricing is more dependably modest to cover manufacturing cost only.

1-22-2019 Upgrade Raspberry Pi 3B to 3B+ model.  Backup original microSD cards and start with fresh install of NOOBS and install most resent version of Rasperian. Start work on multiple monitors as documented now, this web page, new sections,  Raspberry Pi 3B – Dual Monitors and Raspberry Pi 4B

Header logo displays an installation of Brazil’s LE 6.1.0 based on Ubuntu 16.04.1 and fully opensource and downloadable from this link


Like all Ubuntu linux, it can be configured for other languages, but why not start out with a more recent version of Linux if Portuguese is not your native language. Interesting that the government of Brazil has made a priority of developing their own distribution of educational Linux to avoid wasting taxpayer money on Microsoft licenses. Whose interests does the USA government really represent?