Article
Nigel Salm · Sep 16 3m read

A new Global Masters Topic and a useful guide to Python

I have just created a new Global Master Topic, "IRIS Cheatsheets". IRIS has introduced a lot of new functionality, especially in scripting languages, FHIR R4 support, enhanced Interoperability Tools, and IRIS Analytics. Having spent 35 years working on Windows-based PC's and Laptops, I have surprisingly little knowledge of Linux, Docker and Git. Furthermore, I have written almost every application and Interface in ObjectScript with splatterings of SQL, .Net, and Java Gateways and the most basic knowledge of WinSCP, Putty, SSH. All that changed when I received my first Raspberry Pi. I first had to choose an operating system to write onto the Micro SD memory card. Raspberry Pi have their own Operating System but unless I wanted to be confined to running my instances of IRIS, IRIS for Health, Report Server, and Ensemble in Docker Containers I needed to choose an Operating System that is a supported platform for IRIS. Having researched my options through Google searches, it became clear that Windows on Raspberry Pi was an unpleasant experience, so I quickly crossed that off my list. It just so happened that the first of my Raspberry Pi's will be the controller in my first Adeept Robot Kit  (PiCar Pro). I was introduced to STEM. STEM is an educational paradigm for introducing people from age 5 upwards to the world of Engineering and Programming.   STEM stands for Science, Technology, Engineering and Mathematics and is the predominant paradigm used by Arduino, Adeept, Lego and other Robot Kit, manufacturers. The programming language used in all of these STEM implementations is Python. What a joy. Python has fascinated me from the moment I found out that it would be implemented as a Native Scripting Language in IRIS. When I was much younger, my favourite subject in the whole world was mathematics, and so the introduction of Python, R and Julia into the world of IRIS filled me with excitement.

I found out that all of these languages have a natural affinity for Ubuntu Linux, a popular platform for IRIS deployments. More to the point, it is the only platform supported on ARM64, which is the technology used in Raspberry Pi. So Ubuntu was clearly the route I had to take. The next decision I had to make was which implementation of Ubuntu I wanted to use. There are three choices, Desktop, Server and Core. Ubuntu Server is recommended as it comes with a 5-year support guarantee. You interact with Ubuntu Server issuing instructions and commands from a terminal. Ubuntu Core is a stepped-down version of Server and is ideal as the base for a docker container. Being a novice to Ubuntu, I went with Ubuntu Desktop, and when I fired up my Pi for the first time, I was presented with a very familiar Desktop GUI. Furthermore, I quickly discovered that all of the applications I use in my day to day life in Windows had Ubuntu equivalents. It wasn't long before I had Docker, Putty, Git and a host of other applications installed and, most satisfyingly of all, Visual Studio Code.

Given that I was suddenly faced with so many new technologies to work with and master, I started searching for documentation on all of these topics and of course, there Is a ton of material out there. The difficulty is knowing which book, FAQ, video or learning application to choose. As I trawled through page after page of Google searches, the documents I was most drawn to were the Cheatsheets. Read my challenge in Global Masters to find out more about Cheatsheets. There is one Cheatsheet that I particularly wanted to draw your attention to, one that particularly impressed me. It is a PDF called "Python-cheat-sheet-April-2021".

I also found that several DC members reached out to assist with questions I had about Raspberry Pi, Ubuntu, and Docker. I am looking forward to spending time with them to fast-track me on these topics.

80
3 1 3 268
Log in or sign up to continue

Thank you for sharing ... this looks like a great resource to keep on hand for Python newbies!

Hi Ben

Once I got my first Raspberry Pi I had to learn Ubuntu, Docker (my one experience of Docker on Windows had not gone well, however, Rich Taylor took exactly 30 minutes to convince me that having 15 IRIS or IRIS for Health containers in Docker for Ubuntu on his Raspberry Pi farm was a very good thing indeed). The introduction of Python, both Native and Embedded along with R and Julia had me scurrying off looking for quick ways to get up to speed on the basics. I invested in a Samsung T5 500GB SSD drive and I studied a couple of articles on the web on how to get my Pi's to boot from a USB SSD only to realise that the people who had followed his instructions ended up with a sticky mess. In the end, I just used my laptop to clone the Micro SD to the SSD and even though it left most of the SSD unallocated which 3 different windows partitioning tools along with the built-in windows diskpart and computer components tools couldn't solve, as soon as I connected the SSD to my Pi and booted from the SSD, Ubuntu very nicely went and expanded the partition for me. I could have used GParted to create more partitions and I suspect that I could probably create 3 separate boot and data configurations for 3 Pti's with a bit of thinking and planning. However, I digress, everywhere I went on this journey I came across cheatsheets for everything and not just programming. I mean everything. There is even a Cheatsheet Site that runs competitions for the best cheat sheets in terms of style, usefulness, readability, sensitivity to people who can't see colours very well.  Then Yuri published a DC Post on seeing IRIS through the TOGAF model and he did a great job so I asked him if I could add it to my collection. My aim is to get DC members who a really fond of some particular aspect of ObjectScript, or Adapters, or Devices, or IRIS HL7 and IRIS FHIR to create cheat sheets which I will collect into one volume and have them styled in ISC colours and logo's and add them to the ISC Learning, Documentation, Global Masters repertoire.

So by publishing my article and attaching the Python examples I hope to inspire other DC members to start contributing.

Nigel

""My aim is to get DC members who a really fond of some particular aspect of ObjectScript, or Adapters, or Devices, or IRIS HL7 and IRIS FHIR to create cheat sheets which I will collect into one volume and have them styled in ISC colours and logo's and add them to the ISC Learning, Documentation, Global Masters repertoire"  

I really love this idea!!  I know that @Michael Breen is also playing with ideas of how to crowd-source the simplification of ObjectScript reference resources to make it easier for new people to ramp up with the technology.