Stranger talks: Roger E. 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 him recently at an event, and we had the chance to get to know him. Later he reached out when his latest book (soon to be published) was finished. It features an expected combination for Db2 fans: Python + Db2 + UDOO X86.
We were delighted to see our boards in the hands of a veteran, using it for such an innovative and creative way. He has kindly agreed to be interviewed, and what you see below is the result of our conversation.
To the interview!
U: How did you first get to know about UDOO X86?
A: On April 30, 2107, I was at a Db2 Customer Technical Advisory Board meeting in Anaheim, California where a colleague of mine announced our plans to make a fully functional, free version of Db2 (formerly named Db2 for Linux, UNIX, and Windows) – with limitations on the number of CPU cores (4), amount of RAM (16 GB), and database size (100 GB) – available as part of the Db2 v11.1 Modification Pack 2, Fix Pack 2 release that being 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 – interested in building applications that interacted with this upcoming free version of Db2. At some point, I said something like “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 that I could 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 had to find a single board computer that was built around an x86 processor. 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 was focused on keeping the price as low as possible so students could afford it) and it surpassed my expectations.
U: DB2 is known as an instrument used by many big companies and on mainframes. Why did you choose UDOO X86 to use with DB2?
A: You are correct – Db2 is used by many Fortune 500 companies around the world and people associate Db2 with the IBM mainframe 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 and 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.
U: Is there something you can do with DB2 + UDOO X86 that you can’t do in “traditional” settings?
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, 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.
U: What potential did you see in UDOO X86 compared to other boards?
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.
U: Was working with a UDOO X86 different than normal? How so?
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 are connected 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.
What was different 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. (The monitor was only used to test things on-site; usually I connected the UDOO X86 to a projector.)
U: Python + DB2 + UDOO X86, is a unique combination, why did you choose to use these three in combo?
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). And, I needed to demonstrate 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. They told me they were amazed that they could do so much on such tiny computers.)
U: My colleague Francesco Vaiani mentioned the many talks you’ve done using UDOO X86. What’s the feedback you receive when you first present the UDOO X86? Do people know it?
A: The response has been overwhelmingly positive – people are literally blown away 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. The presentations that were supposed to be run at the Analytics pedestal weren’t even started! 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.
U: You have written many books, articles, tutorials…it seems to me that your passion is writing as much as IT. Are you also a reader?
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.”
U: Do you have hobbies unrelated to IT?
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