Stranger talks: Roger Sanders – Roger E. Sanders is a veteran of Db2 and of computing in general. He has worked in the industry since the ’80s and he wrote multiple books on DB2. We met recently at an event. Later he reached out when he finished latest book. It features an expected combination for Db2 fans: Python + Db2 + UDOO X86.
Stranger talks: Roger Sanders. Seeing our boards in the hands of a veteran is a true joy! Plus, using it for such an innovative and creative way. He has agreed to this interview, and what you see below is the result of our conversation.
To the interview!
A: On April 30, 2107, I was at a Db2 Customer Technical Advisory Board meeting in Anaheim, California. There a colleague of mine announced our plans to make a fully functional, free version of Db2 . We formerly named Db2 for Linux, UNIX, and Windows. Of course, with limitations on the number of CPU cores (4), amount of RAM (16 GB), and database size (100 GB). All available as part of the Db2 v11.1 Modification Pack 2, Fix Pack 2 release planned for June 22 of that year. Afterwards, some customers and I were brainstorming ways to get new application developers. Particularly, developers who were just coming out of college/university with a degree in computer science. So, interested in building applications that interacted with this upcoming free version of Db2. At some point, I said”What if we could get Db2 to run on a Raspberry Pi,” and most thought this could be effective. So, as soon as I got home, I started exploring ways to make this happen.
But, as soon as I got started, I hit a brick wall. The Db2 software is compiled for x86_64, Solaris, POWER, and zIIP processors but not the ARM processor that’s used on the Raspberry Pi. And, it’s a complex process to recompile the Db2 code for different CPUs.
So, to move forward with this project, I looked for a single-board x86 processor computer. Fortunately, a little research led me to the UDOO X86, which was just coming out of the “pre-order” stage about this time. I bought the lowest priced model available. Initially, I focused on keeping the price as low as possible so students could afford it). I was surprised and impressed.
A: You are correct. many Fortune 500 use Db2companies around the world and people associate Db2 with the IBM mainframe. That’s because that’s where it originated over 35 years ago. But, a version for other servers – starting with OS/2 and RS6000 (which anyone born after 1990 probably doesn’t remember). And, later for AIX, Solaris, Linux, and Windows – has been available for the last 25 years. Unfortunately, not that many application developers are aware that this flavor of Db2 exists. So, when they want or need to use a relational database for data storage, they turn to offerings like MySQL and SQL Server. I wanted to change that. I believed a great way to break the “Db2 is a database for mainframes” perception was to show this flavor of Db2 running on the smallest computer possible. The UDOO X86 has the CPU required to run Db2 and it has a very small footprint. So, it’s just what I was looking for.
One thing I am able to do with the UDOO X86 that I can’t do as easily with more traditional computing environments is take advantage of the UDOO X86’s built-in Arduino. Using the built-in Arduino, I can easily attach a DHT22 temperature and humidity sensor to the UDOO X86. Additionally, capture data from it, in real time, and store the data collected in an encrypted Db2 database. Another advantage the UDOO X86 provides is that I can use it to create an extremely portable, stand-alone system. I can take practically anywhere to perform live demos with. I have taken my UDOO X86 to conferences in Lisbon, Portugal; Philadelphia, Pennsylvania (US); and Valletta, Malta, as well as developer meet-ups in Austin, Texas; Atlanta, Georgia; and Hartford, Connecticut.
A: As I mentioned earlier, the thing that drew me to the UDOO X86 initially was the x86 processor. I think I found one other x86-based SBC at the time, but I was impressed with how the UDOO X86 could run the latest versions of Linux and Windows. And, when I got the UDOO X86, I was pleasantly surprised at how fast everything ran on it – even with just 4 GB of RAM. With my UDOO x86 Ultra, I can build a new, encrypted Db2 database in roughly 2.5 minutes! And, I can re-image the entire system in about 2 hours.
One feature of the UDOO X86 I didn’t take advantage of right away, but fell in love with once I started using it is the built-in 32GB eMMC storage. Because I was testing a variety of things with different operating systems, I was constantly re-imaging the board. This meant that every time a new operating system was installed, I had to re-install the Db2 software, Arduino IDE, Anaconda, Visual Studio Code, etc., re-build the SAMPLE database that comes with Db2, and copy all of my Arduino sketches, Python programs, Jupyter Notebooks, etc. over once the operating system had been installed and updated. Initially, I kept “master” copies of everything on a USB thumb drive, but later I put everything on the built-in 32GB eMMC storage and created some shell scripts to automate the “re-setup” process. This greatly simplified the whole re-imaging process.
A: Not really. I’ve been working from home for almost 12 years and I have a work area that contains several different computers running a wide variety of operating systems. Many of these computers connect to a single monitor, keyboard, and mouse through an HDMI KVM switch. So, all I had to do was connect the UDOO X86 to a port on the KVM switch and then I could use it like any other computer.
The difference was how I traveled with it. I bought a 10″ monitor, the smallest keyboard I could find, a USB mouse, and a Pelican 1060 Micro Case with a foam insert that I modified to store the UDOO X86 and DHT22 sensor in. I also had a small bag that contained the power supplies for the monitor and UDOO X86, a short HDMI cable, a spare breadboard, a spare DHT22 sensor, spare jumper wires, and spare resistors. Then, I found fairly large carry-on bag that held all of this, along with my IBM MacBook Pro, iPad, charging cables, and everything else I normally travel with that I will not check. I quickly learned to take the UDOO X86 out of my carry-on bag before going through airport security! Otherwise, my bag would undergo a detailed search because it had so many unusual electronic items in it. (I used the monitor only to test things on-site; usually I connected the UDOO X86 to a projector.)
A: As I mentioned earlier, I was trying to come up with a unique way to attract “next generation” application developers to Db2. Python is touted as being the fastest growing programming language and as I was doing research for this project, I found this to be true – the headline for the June TIOBE Index (https://www.tiobe.com/tiobe-index/) is titled “Python continues to soar in the TIOBE index.” So, I knew that to attract new application developers, I had to build programming examples with Python (and make them readily available on GitHub). Additionally, I demonstrated how the Python drivers for IBM data sources (ibm_db and ibm_db_dbi) are used to interact with Db2 servers and databases. Finally, I wanted to do everything on the UDOO X86 to make the project look interesting and fun. (I had two interns working with me on this project last summer and I put together UDOO X86 workstations for each of them. I‘m going to quote them “We think it’s we can do so much with such tiny computers“
A: The response has been overwhelmingly positive. People’s faces are literally incredulous when they see my demos! When I unveiled my work at the 2017 International Db2 Users Group (IDUG) European Conference in Lisbon, it dominated the IBM booth. And the Analytics pedestal‘s presentations didn’t start yet! Most vendor booths at these type of conferences run canned demos on laptops, so the UDOO X86 in the acrylic case, connected to a large display, was a real attention getter.
It’s been my impression that the UDOO X86 was intended to be a faster, more powerful option for makers who were already familiar with single board computers like Raspberry Pi and Arduino. So, the maker community as a whole, is probably more aware of the UDOO X86 than the people I usually present to. I would say maybe 25% of the members of my audiences have heard of the Raspberry Pi and even fewer know what an Arduino is. So, when I present, that’s usually the first time they hear about the UDOO X86. But, after seeing my presentation, a LOT of people have told me they want to get one. And, I’ve emailed my “UDOO X86 with Db2 setup cheat sheet” to several people who have requested it afterwards.
A: Yes, I am an avid reader. Before eReaders became popular, I rarely went anywhere with out a book in my hand. (I still prefer printed books over eBooks, but find the latter more practical for reading in bed.) I just finished the book “Last Train to Paradise: Henry Flagler and the Spectacular Rise and Fall of the Railroad that Crossed an Ocean.”
A: Yes, I do a lot of landscape photography and I like to machine things out of metal. I have a metal lathe and a milling machine in my backyard shop and recently I made a bracket to hold external WiFi antenna that I could use with the acrylic case available for the UDOO X86. You’ll find a picture of this bracket in my latest book “QuickStart Guide to Db2 Development with Python”
This is the end of the interview. A huge thank you for Mr.Sanders for partecipating and to you, reader.
See you in the next update,
The UDOO Team