Category Archives: programming

A healthcare IT foundation built on gooey clay


Today, there was a report from the Solicitor General of Singapore about the data breach of the SingHealth systems that happened in July.

These systems have been in place for many years. They are almost exclusively running Microsoft Windows along with a mix of other proprietary software including Citrix and Allscript.  The article referred to above failed to highlight that the compromised “end-user workstation” was a Windows machine. That is the very crucial information that always gets left out in all of these reports of breaches.

I have had the privilege of being part of an IT advisory committee for a local hospital since about 2004 (that committee has disbanded a couple of years ago, btw).

Every year, budgetary proposals for updates, new versions etc., of the software that the advisory committee gets for consideration and possible approval. Almost always, I would be the exception in the committee in questioning the continued use of expensive proprietary software for these healthcare systems (a contributory factor to increasing health care costs). But because I am the lone contrarian voice, inevitably, the vote will be made to approve and hence continue, IMHO, the wasteful path of spending enormous amounts of monies in these proprietary systems.

I did try, many times, to propose using open source solutions like, for example, virtualization from KVM. This is already built in into the Linux kernel that you can get full commercial support from Red Hat (disclosure: I work for Red Hat). You pay a subscription and we make sure that the systems are running securely (via SELinux for a start) and that enterprise can focus on their core business. But no, they continued with VMware.

I did propose open source solutions like OpenEMR and many other very viable solutions for the National Electronic Medical Records system – but none of them were accepted. (It has been brought to my attention that there are plans to mandate private sector healthcare providers to use the NEHR. There is considerable opposition to it both from the hassle (from their point of view) and added costs since the solution is proprietary and expensive).

There were some glimpses of hope in the early years of being on the committee, but it was quickly snuffed out because the “powers that be” did not think open source solutions would be “good enough”. And open source solutions are still not accepted as part of the healthcare IT architecture.

Why would that be the case?

Part of the reason is because decision makers (then and now) only have experience in dealing with proprietary vendor solutions. Some of it might be the only ones available and the open source world has not created equivalent or better offerings. But where there are possibly good enough or even superior open source offerings, they would never be considered – “Rather go with the devil I know, than the devil I don’t know. After all, this is only a job. When I leave, it is someone else’s problem.” (Yeah, I am paraphrasing many conversations and not only from the healthcare sector).

I recall a project that I was involved with – before being a Red Hatter – to create a solution to create a “computer on wheels” solution to help with blood collection. As part of that solution, there was a need to check the particulars of the patient who the nurse was taking samples from. That patient info was stored on some admission system that did not provide a means for remote, API-based query. The vendor of that system wanted tens of thousands of dollars to just allow the query to happen. Daylight robbery. I worked around it – did screen scrapping to extract the relevant information.

Healthcare IT providers look at healthcare systems as a cashcow and want to milk it to the fullest extent possible (the end consumer bears the cost in the end).

Add that to the dearth of technical IT skills supporting the healthcare providers, you quickly fall into that vendor lock-in scenario where the healthcare systems are at the total mercy of the proprietary vendors.

Singapore is not unique at all. This is a global problem.

Singapore, however, has the potential to break out of this dismal state if only there is both technical, management and political leadership in the healthcare system. The type of leadership that would want to actively pursue by all means possible to make healthcare IT as low cost and yet supportable, reliable and more importantly, be able to create a domestic ecosystem to support (not via Government-linked companies).

I did propose many times to create skunkworks projects and/or run hackathons to create solutions using open source tools to seed the next generation of local solutions providers. As I write this, it has not happened.

To compound the lack of thought leadership, the push in the 2000s to “outsource IT” meant that what remaining technically skilled people there were, got shortchanged as the work went to these contract providers (some of these skilled people were transferred to these outsourcee firms but left shortly after, because it was just BS).

This also meant that over time, the various entities who outsourced IT were just relationship managers with the outsourcee companies.It is not in the interest of the outsourcee companies to propose solutions that could lower the cost overall as it could affect the outsourcee’s revenue model. So, you have a catch-22: no in-house IT/architecture skills and no interest at all on the part of the outsourcees to propose a lower cost and perhaps better solutions.

I would be happy, if asked, to put together a set of solutions that will steadily address all of the healthcare IT requirements/solutions. I want this to then trigger the creation of a local ecosystem of companies that can drive these solutions not only for Singapore’s own consumption as well as to export it globally.

We have the smarts to do this. The technical community of open source developers are, I am very confident, able to rise to the challenge. We need political thought leadership to make this so.

Give me the new hospital in Woodlands to make the solutions work. I want to be able to do as much of it using commercially supported open source products (see this for a discussion of open source projects vs open source products), and build a whole suite of supportable open source solutions that are open to the whole world to innovate upon. It would be wonderful to see https://health.gov.sg/opensource/ (no it does not exist yet).

There are plenty of ancient, leaky, and crufty systems in the current healthcare IT systems locally. We need to make a clean break from it for the future.

The Smart Nation begs for it. 

Dr Vivian Balakrishnan said the following at GeekCamp SG 2015 (video):

I believe in a #SmartNation with an open source society and immense opportunities; where everyone can share, participate and co-create solutions to enrich and improve quality of life for ourselves and our fellow Singaporeans.

And for completeness, the actual post is here (it is a public page; i.e., no account needed):

I am ready.  Please join me.

Advertisements

What I’ve learned in 15 years at Red Hat


[image credit: https://goldenageofgaia.com/wp-content/uploads/2017/04/Spock-shades.jpg%5D

In September 2003, I was asked by Gus Robertson to consider joining Red Hat – essentially to kickstart the Red Hat office in Singapore/ASEAN. I was at that time running my own open source consultancy – Maringo Tree Technologies.

I did try to get Red Hat to acquire MTT, but that did not go far. Red Hat had just done a JV in India and was not looking to do another even as an acquisition so soon. In any case that JV was subsequently bought out fully by Red Hat in 2005.

I started at Red Hat as the Chief Technology Architect. I would not say that Red Hat was my dream company to be at, but most everything I did before was all about Free and Open Source Software.

Time Before Red Hat (yes, there was)

I had no direct interest in the notions of software licensing (see this post about the Singapore Ohio Scientific Owers’ Group from 1982 – yes, predates establishment of the venerable Free Software Foundation). Even my 1989 MSEE thesis (link to PDF) was about creating software but I never did consider the licensing of it because lots of it was given to me or copied from USENET newsgroups.

I, together with Greg Hosler, Mathias Koeber, Ng Hak Beng,  and a bunch of others, set up the Singapore Linux Users’ Group in 1993. That was about when Red Hat itself was setup. I was fortunate enough to have been in situations where I could help drive the conversation and technology forward. I helped by distributing diskettes of Soft Landing Systems, Yggdrasil, Slackware etc either via the LUGS or directly. I was more concerned with getting the code out there and people benefitting from it. LUGS even created our own distribution in 2000 called EasyLinux.

I wrote up some how-tos – IP Masquerade, IP Alias, DialD, and lots of other stuff – I can’t recall what else – but suffice to say, these efforts were unexpectedly “rewarded” by shares being offered when Red Hat was planning on an Initial Public Offering.

I recall receiving an email from Red Hat and eTrade in 1999 (unfortunately, I can’t locate that email) in which it said that I was being given some shares (I don’t recall how many) to acknowledge the contributions made to the community. The only reference to the thinking at Red Hat about this is in an article in the Linux Magazine of November 15, 1999.

July 1999: The Community

It was clear that Red Hat wanted all the open source developers who had made its success possible to participate in its public offering. Red Hat would be nowhere without the hackers, and the company knew it.

Red Hat Director of Technical Projects Donnie Barnes spent three weeks scouring the Internet, digging up all the contributor lists to all the open source projects he could find. Red Hat then had to craft a letter to this list of developers. The SEC has a complex set of rules about what companies can and cannot say when they offer shares to the public. If a company doesn’t stay well within the rules, the SEC can –
and regularly does — withhold permission to proceed with an IPO.

“I’m sure they have very important and well-researched reasons for implementing each and every one of these rules,” Young said. “But to the companies who have to negotiate these rules on their way to a public offering, they appear designed solely for the purpose of ensuring the mental collapse of anyone who attempts to navigate through them.”

For example, the SEC-imposed quiet period “was one of the more bizarre notions to a salesman like me,” Young said. “How can you sell shares in your company if you are not allowed to promote your company for three months before your IPO or for a further month after your IPO? This letter to developers could describe the offer, but not mention any reason why anyone should want to accept the offer. That would be
promoting the shares in the quiet period — a big no-no according to the rules.” Red Hat ended up with a letter which, while legally acceptable, was “sufficiently badly worded to end up alienating a significant percentage of the developers we mailed it to,” Young said.

The SEC has a set of rules governing who is eligible to purchase shares in an IPO. First, you must be a U.S.-based taxpayer to buy IPO shares that are listed on an American exchange. This eliminated about half of the developers on the list from participating in the offer, according to Red Hat.

The SEC also has a set of rules designed to protect the public from scam artists who use public stock offers to con inexperienced investors out of their money.

“In effect the SEC deems IPO offers to be extremely high-risk investments, and therefore buyers of shares in IPOs must prove that they are experienced investors who can afford to lose the money they are being asked to invest,” Young said.

Unfortunately a significant percentage — about 15 percent — of the developers to whom Red Hat offered shares were either students or otherwise inexperienced investors by the SEC’s standards.

“And of course this offer was not being made by the SEC — it was being made by Red Hat and E*TRADE. So when members of the development community that we had extended the offer to found themselves declared ineligible, they initially naturally blamed Red Hat and E*TRADE,” Young said.

The final result was that well over one-fifth of the developers on the list were interested, eligible, and able to participate in the Red Hat IPO.

(extracted from http://www.linux-mag.com/id/348/)

I accepted the shares from Red Hat and I guess I was part of the 1/5th.

For the record, I think I did sell the shares later (along with the shares that I later received from VA Linux when they IPOed). It was a very nice gesture on both Red Hat’s and VA Linux’s part and I am thankful.

When Red Hat offered me a position in 2003, I was very aware that this is a business that is trying to do the Right Thing.  While I was trying to figure out the value of such a move, I was provided with the relevant employment documents to sign. In one of them, a particular paragraph stood out for me.

In the Red Hat Code of Business Conduct and Ethics (a PDF from https://investors.redhat.com/corporate-governance/governance-documents), this paragraph was pivotal:

Participation in an open source community project, whether maintained by the Company or by another commercial or non-commercial entity or organization, does not constitute a conflict of interest even where you may make a determination in the interest of the project that is adverse to the Company’s interests.
(from the bottom of page 2 of the PDF)

I did not, then, have to think twice. I signed.

With that stoke of the pen, my tenure at Red Hat started officially on 8th September 2003. I still had Maringo Tree Technologies and I had to find a way to exit it and eventually I did.

Fifteen years is a significant amount of one’s lifespan to be spent with a single entity (assuming a 30-40 year work career). Red Hat is the 7th organization I am with: CSA Group (1st job, employee, Singapore), Microsoft (intern, employee, USA), Sembawang Media (management Singapore), Brokat (technical management Singapore/Germany), Inquisitive Mind (co-founder/management/technical Singapore) and Maringo Tree Tech (founder/management Singapore),

Each stint provided experience and exposure to different aspects of the business/technology world. Perhaps the most challenging was to be your own boss at Maringo Tree Tech. While the time spent at MTT was relatively short, I am proud of what I was able to achieve. I suppose the work at MTT  was the lead-in into Red Hat for I had approached Red Hat as my own business even though, technically, I was an employee.

The thought process that says that the place you are employed is your own business, instead “it is just a job”, is a very powerful and empowering mental state. I want to make open source wildly successful and I was using Maringo Tree Tech as the vehicle to make that happen. When Red Hat came knocking on the door, it made immense sense to me that I should hitch on the Red Hat branding to drive my conviction forward.

I, had, at the back of my mind (and perhaps still valid today), that should I ever decide to part with Red Hat, I will still be doing the exact same thing but under a different label. That would be just fine.

What does 15 years at Red Hat mean for me? First, it is testimony that it is a growing organization and will continue to define how technology should be created, curated and consumed. That, the pursuit of fiscal goals has to be in congruence and cadence with ensuring the health and wealth of the commons. The commons comprise people from around the world who, once empowered by technology, are able to display and benefit from their talents and skills that can only but move the needle forward positively.

My early years at Red Hat were spent making sure the ONE product we had, Red Hat Enterprise Linux (2.1 and 3) were being made available to customers. I was tech support, sales, order entry, delivery person, spokesperson, evangelist, keynote speaker, community pointman and the go-to-for-everything-open-source-and-Red-Hat in South East Asia person.

It was not until late 2004 that Red Hat decided to re-draw the sales organization for Asia Pacific in creating an APAC HQ in Singapore for sales and marketing, Red Hat Brisbane to be the APAC engineering HQ, and to create six regions within APAC (ASEAN, ANZ, India, Korea, Japan, China). This change meant that we will have new Red Hatters focused on the selling of products and services but who might not have cut their teeth in free/open source software but were from the dark side, aka, proprietary software vendors. This is a necessary “evil”, but something that can be managed with the right amount of training and exposure. That was what happened when Red Hat University was setup in 2006 and I was asked to head that up for APAC, or more specifically the Sales College (which was the only college under RHU in APAC then).

I think, my time with the Sales College and especially in running the week-long Sales Boot Camp, was a very important personal challenge. Through the Sales Boot Camp, I helped transform a whole lot of open source migrants to become champions of open source. Not all of them got to their open source a-ha moment, but those who did, were sold on it. They could not do anything else as the fact that we are not shortchanging our customers by promises and handwaving but with solid and independently verifiable technology was not something to be walking away from.

In the meantime, our product portfolio started to grow. JBoss came on board in 2006, Qumranet in 2008, Makara and Gluster in 2010, CEPH in 2014, Ansible in 2015 and CoreOS in 2018 just to name some major acquisitions.

My sales quota in 2003 was US$100k and Red Hat’s revenue then was about US$126.1 million. Today, 2018, revenue is at US$2.9 billion. That’s a whopping 23x growth in revenue in 15 years. In the 60 quarters I’ve now been with Red Hat, every quarter has been better than the previous.

While the business grows with a plethora of products and service, where in the scheme of things does Red Hat understand how the open source community of projects are faring? These projects become open source products that our customers consume (via a subscription). The incredibly fine balance of open source projects and open source products is something that I’ve speak about because there is still an insufficient appreciation of what an open source project is when it become a product that a corporate entity has to be held accountable for.

Wtih the fine balance of project vs product, it is just as important to be able to gain insights into the open source projects that feed into the products. This was what lead me to start an internal project “Prospector” project in 2012. In 2017, Prospector became part of the CHAOSS Project of the Linux Foundation. Much work continues to be needed and I am working on many fronts to make that happen.

Which in a meandering way, brings me to today, 8th September 2018.

What would the next 15 years bring? What I know for sure is that it will be based on a widely distributed and decentralised world built on free/open source software and open hardware.

This will be a world that will bring the remaining unconnected 3+ billion members of the human family into the digital world, The tech flavours of today (AI, Machine Learning, Distributed Ledgers), having been built on free/open source software, will blaze the trail into new applications to better the human condition and the planet’s health.

The future is so open and bright, I need shades!

You gotta love the UNIX way of doing things


A colleague was asking for some help in a demo he was planning on that would involve him editing a spreadsheet in LibreOffice on his laptop and then the spreadsheet to be saved to a remote machine. Once the edit to the spreadsheet was done, that act should then trigger a process in the remote machine. He could do that by manually firing off a process, but would like it to be automated.

Because of his question, I found out that in LibreOffice, there is an option to “Save Remote” which gives me a range of options to work with:

remote-add-service

 

remote-add-service-dialog

I could then just save to a SSH-enabled destination. Pretty cool.

Turned out, for some reason, the LibreOffice version on his machine just did not successfully connect to the ssh destination. It worked out of the box on my Fedora 28 and RHEL 7.5 systems. Hopefully, a bug report will be filed.

So, as an alternative, I suggested that perhaps he should do an sshfs (dnf install fuse-sshfs -y) link to the remote system. This allows for the remote location to be accessible from all apps on the local machine.

The next thing to do was to write a script on the remote end that watches the spreadsheet for changes and to trigger some actions.

This is where the UNIX philosophy of simple, well defined and well written tools come into play. It is also a realization that there are a million ways to make it happen.

In this instance, I picked on entr (dnf install entr -y on Fedora and via EPEL or RPMFusion for RHEL) which does exactly what was needed and all in just one line. I did initially consider inotify but figured entr was simpler for the task at hand.

Here’s a screencast to show two terminals (in Gnome, ctrl-alt-shift-R):

r7: is a RHEL 7.5 system (on the left) and gillman: is a Fedora 28 system (on the right).

The line “ls file.csv | entr -p ./p.sh” is all that is bring done on r7. On gillman, I sshfs mounted r7:/home/harish onto gillman:/home/harish/mnt. When the file file.csv is edited on gillman, the file is saved via the sshfs mount point onto r7 and on r7, the one line command line executes via entr to trigger the shell script “p.sh” which is nothing more than:

r7$ cat p.sh

#!/bin/sh
ping -c 5 127.0.0.1

The screencast is self explanatory.

Enjoy.

My updated GPG keys: 0x61AFA27B


I have just updated my GPG keys.

The fingerprint is: 0x61AFA27B

And my public key is:

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
L2wItvjtV+KEiOfKSUdn
=mauj
-----END PGP PUBLIC KEY BLOCK-----

You can check my keys at any of the key servers. Here are two:

a) https://keys.fedroraproject.org

b) https://pgp.mit.edu

I am updating my keys to 4096 bits and that is the reason for doing it now.

You can also use keybase.io if you prefer – this still has my previous key, and it will be updated to the new one.

So, you want to do computer science, huh?


This has been on my mind for a while. Lots of friends are asking me for advise about their interest in pursuing courses on computer science (undergrad or grad).

First things first: I do have both CS and EE degrees (from Oregon State University), but that was from the 1980s. The world of computer science has evolved significantly since those days. I got to be on APRAnet then and it has evolved into what the Internet today. In that process, lots of the types of knowledge that one needs to do computer science – as an academic program – has also changed – but not evenly across the world.

I do mentor/advise startups and if any of them come to me with proposals that involve buying hardware, setting up software as part of the servers etc, I will promptly throw them out. Create your stuff on the cloud – AWS, Google, Rackspace, DigitalOcean etc. Lots of them out there. At some point, when your project/start-up ideas have gained some form/shape, and you have paying customers, you could consider running your own data centers using Red Hat Open Stack and Red Hat OpenShift  to make sure that you have a means to run your application in-house or in your own data center or onto the public cloud seamlessly.

So, likewise, if anyone is keen on doing a CS degree, do consider the following (not an exhaustive list, but a starting point):

  1. Do look at courses available online (Khan Academy, Coursera, EdX) and understand the breath and depth of what is out there.
  2. Learning online is a big challenge – especially for adults (atleast it is for me). I think I can manage the courses, but having to juggle the course and life when you don’t have a supporting group of classmates, it will be a struggle.
  3. If you are already keen on something – like game development, or artificial intelligence etc, do look out for the sites that are specialised in those fields. I particuarly like fast.ai for AI related stuff because of the use of Jupyter notebooks (which is really the only sane way to do anything with data science).
  4. Make sure you create and manage your own brand via your own blog – wordpress.com (like this blog itself), code repositories (not only code, but including documents, graphics etc) sitting on sites like gitlab.com or pagure.io (or even github.com). Create and curate your thoughts, ideas and considerations on your blog and repositories. I would not recommend LinkedIn as the primary site, but would encouage use of it as a place for links to your personal sites which should always be primary. You must always retain control of your stuff and not be dependent on others.
  5. Explore the various areas of interest that you have and find out who the thought leaders are including the professors. Contact them and seek their advise. Don’t be concerned that they might ignore your – which is just fine – but you never know who will respond and engage and your path will take a different turn.

If there are any other thoughts, do comment below. Love to hear from others on how they would have answered the same question.

 

 

And, they are online now


Over a week ago, I was pinged by @l00g33k on twitter with a picture of a description of a piece of code I wrote in 1982.

That lead to a meet up and reliving a time where the only high technology thing I had was a 6502-based single board computer complete with 2K of RAM. It was a wonderful meet up and @l00g33k  was kind enough to handover to me a bag with 10 copies of the newsletter that was published by the Singapore Ohio Scientific Users Group. That was the very first computer user group I joined.

Suffice to say, I did help contribute to the newsletter by way of code to be run on the Superboard ][ – all in Basic.

I’ve scanned the 10 newsletters and it is now online.

I am really pleased to read in the Vol 1 #3 (page 36) a program to generate a calendar. The code is all in Basic. Feed it a year and out comes the calendar for the whole year.

Another piece of code is in Vol 1 #5 page 36 a program to print out the world map. That code was subsequently improved upon and published by another OSUG member to include actual times of cities – something that could only be done with the addiion of a real time clock circuitry on the Superboard ][.

A third program was in Vol 1 #6 page 26 that implemented a morse code transmitter.

I was very happy then (as I am now) that the code is out there even though none of us whose code was published in the newsletters had any notion of copyright. Code was there to be freely copied and worked on. Yes, a radical idea which in 1984 got codified by Richard Stallman’s Free Software Foundation (www.fsf.org).

Seeking a board seat at OpenSource.org


I’ve stepped up to be considered for a seat on the Board of the Open Source Initiative.

Why would I want to do this? Simple: most of my technology-based career has been made possible because of the existence of FOSS technologies. It goes all the back to graduate school (Oregon State University, 1988) where I was able to work on a technology called TCP/IP which I was able to build for the OS/2 operating system as part of my MSEE thesis. The existence of newsgroups such as comp.os.unix, comp.os.tcpip and many others on usenet gave me a chance to be able to learn, craft and make happen networking code that was globally useable. If I did not have access to the code that was available on the newsgroups I would have been hardpressed to complete my thesis work. The licensing of the code then was uncertain and arbitrary and, thinking back, not much evidence that one could actually repurpose the code for anything one wants to.

My subsequent involvement in many things back in Singapore – the formation of the Linux Users’ Group (Singapore) in 1993 and many others since then, was only doable because source code was available for anyone do as they pleased and to contribute back to.

Suffice to say, when Open Source Initiative was set up twenty years ago in 1998, it was a formed a watershed event as it meant that then Free Software movement now had a accompanying, marketing-grade branding. This branding has helped spread the value and benefits of Free/Libre/Open Source Software for one and all.

Twenty years of OSI has helped spread the virtue of what it means to license code in an manner that enables the recipient, participants and developers in a win-win-win manner. This idea of openly licensing software was the inspiration in the formation of the Creative Commons movement which serves to provide Free Software-like rights, obligations and responsibilities to non-software creations.

I feel that we are now at a very critical time to make sure that there is increased awareness of open source and we need to build and partner with people and groups within Asia and Africa around licensing issues of FOSS. The collective us need to ensure that the up and coming societies and economies stand to gain from the benefits of collaborative creation/adoption/use of FOSS technologies for the betterment of all.

As an individual living in Singapore (and Asia by extension) and being in the technology industry and given that extensive engagement I have with various entities:

I feel that contributing to OSI would be the next logical step for me. I want to push for a wider adoption and use of critical technology for all to benefit from regardless of their economic standing. We have much more compelling things to consider: open algorithms, artificial intelligence, machine learning etc. These are going to be crucial for societies around the world and open source has to be the foundation that helps build them from an ethical, open and non-discriminatory angle.

With that, I seek your vote for this important role.  Voting ends 16th March 2018.

I’ll be happy to take questions and considerations via twitter or here.