Weekly Roundup Of Tech News – 05/23/2021

Healthcare: Telephones not computers played key role in pandemic TeleHealth 

What: According to Axios KFF survey reported that more than half of Medicare beneficiaries utilized telephone for their Telehealth visits.

How:  More than 56% of beneficiaries used telephone for the Telehealth. It was very high among hispanics (61%), rural (65%) compared to only 28% of people using video for telehealth.

Why it matters: Telemedicine conjures up video visits from the physician but this statistic provides an insight into the adoption by the end consumer. There could be challenges in the availability of broadband to the rural and minority communities. Until these challenges are addressed adoption of Telehealth will continue to be a challenge.

Artificial Intelligence: RAI’s certification to prevent AI turning into HALs

What: Responsible Artificial Intelligence Institute (RAI), a non-profit hopes to offer a more standardized means of certifying AI solutions.

How:  RAI has built a concrete framework of Build, Accredit, Audit and Certify process that has dimensions in Accountability, Bias and Fairness, Data Quality, Explainability and Interoperability and Robustness for Certifying AI solutions.

Why it matters: We have seen how AI’s can go rogue through in the fictional Space Odyssey’s HAL computer which eliminates the entire crew. More recently, Microsoft’s Tay debacle, Facebook’s algorithm spreading online hate and the Clearview’s surveillance systems’ facial recognition software caused public outrage due to their power and the opaqueness of algorithms’ logic creating fear about AI itself. By certifying the AI systems similar to LEED, it gives transparency and more adoption.

Worldwide Web: Linkrot and its impact on the web 

What: Research has shown that many important links in the web get lost to time. For e.g., quarter of The New York Times’ articles are now rotten, leading to completely inaccessible pages according to team of researchers from Harvard Law School. The following graph shows reverse view of link rot over time.

How: When an old article gets archived, the new location is not published. For example, let’s say an article was published in 1998 with a hard code the link and has been archived. The original link wouldn’t be active and someone else can publish a completely opposing view of the original content thereby affecting the integrity of the content. The study by Harvard Law School found that in 550,000 articles, which contained 2.2 million links to external websites  in New York Times, 72% of them were “deep” or pointing to a specific page rather than a general website. 6% in 2018 vs 72% links from 1998 were dead.

Why it matters: Imagine a situation where the original video or content succumb to linkrot and in its place something else is published that could create confusion and panic. One solution is by Wikipedia where it asks for page’s archive on sites like Wayback machine. Another solution by Perma.cc project attempts to fix the issue of link rot in legal citations and academic journals by providing archived versions of the page along with original source. There are many other areas that require this capability and certainly something for a startup to think about. Any takers?

Weekly Roundup of Tech News – 5/16/2021

Programming Languages: Python founder wants to improve its performance

    • What: Python founder, Guido von Rossum, wants to make Python work faster similar to its counterparts like C++.
    • How: Microsoft hired Guido von Rossum after he retired and allowed him to pursue whatever he wanted. He focused on improving the performance for Python with other developers hired by Microsoft.
    • Why it matters: Guido von Rossum committed that it will not break the existing code and will incrementally improve the language. This may allow application developers to pay attention to Python language which has been primarily used extensively in data communities.

CyberSecurity: Colonial Pipeline paid $5 million ransom to the hackers

    • What: According to Verge, Colonial Pipeline paid around $5 million ransomware money to the hackers who then released the keys for un-encrypting the servers and resuming operations.
    • How: Before the COVID19 pandemic, the systems were managed through intranet and the employees went to work. Due to the pandemic some of the network was opened through the internet and employees were working from home social distancing themselves in managing the network. Hackers gained access through the vulnerabilities and closed out the systems.
    • Why it matters: The hack exposed the vulnerability of public systems and enabled President Biden to sign a law into force to handle such cyber attacks. The executive order outlines a number of initiatives, including reducing barriers to information sharing between the government and the private sector, mandating the deployment of multi-factor authentication in the federal government, establishing a Cybersecurity Safety Review Board modeled after the National Transportation Safety Board, and creating a standardized playbook for responding to “cyber incidents.”

Quantum Computing: Honeywell released its quantum computing platform

What: Honeywell published an article claiming that its quantum computer can achieve the volume of 64 with only 6 qubits as opposed to 27-qubit processor of IBM.  This will significantly reduce the size of the devices.

How: Honeywell used trapped ion technology as opposed to the superconducting ions (used by IBM and Google) to power its device. This enabled the cross connectivity between the ions to encode more information.

Why it matters: With this new breakthrough in the quantum race, trapped ion technology has become a serious contender. Honeywell claimed that it will enable the company to release the world’s most powerful quantum computer within the next three months. This will pave the way to solve multitude of practical problems that are waiting to be solved with the limitation of computing power.

Weekly Roundup Of Tech News – 5/9/2021

  1. Software Development: US Supreme Court Rules on Key Software Development Practice
    • What: Supreme Court ruled in favor of Google about its usage of Java SE compatible programming interface for Android Development as “Fair Use” in a case filed by Oracle.
    • How: Even though Google used about four-tenths of a percentage of Java Code, and that such code was further incorporated into a totally different product was transformative enough use of the code at issue to qualify its fair use of that code.
    • Why it matters: What this means for the developers is that they can continue utilizing the open source APIs with the understanding that implementations matter more than the definition. As such a big win for the development community.
  2. Artificial Intelligence: USPS turns to AI to boost Package Processing
    • What: USPS handles roughly 129 billion pieces of mail and 7.3 billion packages last year. Tracking these have been difficult. A federal data scientist proposed to deploy the edge AI servers at the postal servicing processing centers system in an effort to gain and share more data points.
    • How: NVDIA working with USPS created Edge Computing Infrastructure Program or ECIP, a distributed edge AI system now running at USPS locations, via NVDIA EGX Platform.
    • Why it matters: The system used to take 8 to 10 people several days to track down items now takes one or two hours with the ECIP AI Program. This enables USPS to track down any item in transit to better manage the deliveries.
  3. Cryptocurrency:  Digital Dollar Project to launch currency pilots
    • What: U.S Nonprofit Digital Dollar Project said it will launch five pilot programs over next 12 months to test use cases for US Central Bank Digital Currency (CBDC)
    • How: Private-sector pilots are funded by Accenture Plc and involve financial firms, retailers and NGOs to generate data to help US Policy makers develop digital dollar through central banks.
    • Why it matters: The data derived can pave way for creating US CBDC that will assert its place as a digital currency and will help larger adoption of cryptocurrencies by the mainstream population.

Opportunities in Healthcare post COVID-19

Recently, I had the opportunity  speak at a  webinar on Post-COVID-19 Global Job Opportunities in Healthcare to final year Engineering students in India. I shared the following highlights which may be relevant to everyone in the Healthcare technology industry. The following are the broad sectors within healthcare.

Specifically the tools/technologies in this space are listed below:

In addition, the soft skills required to be successful.

Comment if you can think of any other trends?

Review of COVID-19 Data

Data will talk to you if you are willing to Listen.
Jim Bergeson

Data is not mere numbers but can showcase powerful information.
Here is the iconic Johns Hopkins Covid-19 dashboard .

I appreciate the information provided by Johns Hopkins and it is great that such a level of transparency is provided. However, I have few opinions on the visualizations and the information that is provided.

It shows daily confirmed, deaths and recovered information along with an yellow line chart that is going in only one direction and that is up indicating cumulative confirmed cases. The size of the red bubbles depends on the number of cumulative counts of patients. There is a tab which shows the active cases.

There is another tab at the right bottom corner which shows daily increase.

On the left confirmed cases by country.These are confirmed cases and not necessarily deaths, I would have chosen orange or yellow but it is red for some reason.

Then the deaths and this is most confusing to me. How can you use white font to depict number of deaths. I understand the recovery being green. Don’t get me wrong, if I were showing the chart, I would select Red for deaths, orange/yellow for the confirmed cases and green for recovery to be consistent with our traffic light system unless you are motivated to scare the public about the pandemic (which may not be the case). Another confusing piece in this section is that the data is divided by country, city and region as a result I am more confused and have to use other means to calculate the deaths in china (by adding the regions etc.,)

This is all and good but does it provide all the information I need. Let us review.
– Total confirmed cases by country and world – Yes
– Total deaths by region, city – Yes
– Total deaths by country – Yes
– Total recovered – Yes
– Daily increase – Yes
– Zeroing in on the country, state and zip – Yes
– Total daily increase – Yes
– Total daily increase by country – Yes
– Compare couple of countries – No
– Daily new and confirmed with country comparison – sort of
– Rolling 3-day average of deaths – no
– Deaths increasing at different rates – no
– how long it is taking to double or other rates – no
– daily new confirmed cases comparing with other countries – no

Therefore I had to find another resource to answer some of my questions. I came across a site Our world in data that gave me these answers.

The following chart tells me, how long it took to double deaths by country and what is the current number. In this case it took 42 days to double in china while US it is doubling in three days. This could be because we are at the early stage of epidemic.

Following shows the confirmed deaths and I picked US, Italy,China and India for comparison.

In the graphic below, we see the daily new confirmed deaths again used four countries (US, Italy, China and India). An interesting pattern is observed in Italy where there is a dip during 3/24 but it increased again by 3/28. I couldn’t understand the reason behind it, may be due to lack of following “Social distancing” (my opinion and couldn’t find any sources to confirm)

Here is the rolling 3-day average

Death rates of various countries and this is important to understand how the pandemic is spreading in various countries and why.

How long did it take to double in the confirmed cases for each country.

Total daily confirmed cases for each country. Here we see US just surpassed Italy.

New confirmed cases. Many reasons can be attributed to this dramatic growth in US. One is that test kits may be available to confirm the cases which were scarce couple of weeks ago.

Rolling 3-day average is the most concerning aspect. As you can see, US has drastically exceeded even China in this average.While china had only 7000 US is 17000.

This fatality rate gives hope but US is in early stage

Iconic “Flattening the curve” which demonstrates the power of social distancing and its effects on the spread. Best visualization of the data and I salute to the folks that came up with it. Let’s do our part to stay home.

There is much more in Our World In Data. Numbers alone cannot tell a story, the data analyst/visualizer has to understand what information he needs to relay to the audience unambiguously. Otherwise, you create panic and confusion. My notes above is to provide an insight into visualization and an attempt to sift through the data for some answers.

Indian Visa Renewal

Recently my son’s passport expired and I had to apply for a new passport. Went to the passport renewal site and followed seven steps and couple of days. It arrived as promised and the process didn’t feel like a burden. Then reviewed the Indian embassy to see the process for his visa. According to Indian Embassy Memo in San Francisco, we had to renew his OCI (Overseas Citizen of India) visa also since he is younger than twenty years. No big deal and thought it would take couple of days to complete the application and submit the documents for his visa. But it took me three weeks and multiple trips to notary, then it would take 60 days for the processing :-).
The process is so complicated and I had difficulty understanding what to do. First the embassy will direct you to Cox & Kings (Third party processor). Here you will see multiple pages of instructions. First step is that you need to fill out an application in the site maintained by Indian Government. The site will remind you of the 2000s look and feel. You cannot use a Mac or phone to complete the application. The application has to be completed using Firefox or Chrome in a windows machine. You need to enter the information from your old passport, new passport, old visa, previous Indian passport if you had indian citizenship. Luckily they will find you. The instructions are not clear but you have to understand to follow it.
First step is to upload the passport size photo and signature card. The scan has to be perfect 2in x 2in and uploaded so that your shoulders should be in the middle. This is important and I learnt the hard when I didn’t upload it correctly (image was skewed by 2 degrees) and application was rejected. I had to re-upload picture after the correction and resend the whole application again. After your successful completion, you will be given a fileid which will be very important. The second step is falling-out the questionnaire. Here questions like whether your parents/grand parents belonged to Bangladesh or Pakistan will be asked and if there is a pending inquiry. Once you completed these, the next step according to Cox & Kings would be to fill out another application in their site.
Here you have to repeat what you have done in the Indian Government site. Then will be given a six page instruction sheet where you have to pick and choose the documents that need to be attached to your application. Notary has to certify your passport copy and certify an affidavit stating that parents confirm the name and age of their children. Then get a Money order (not money gram or personal check or any other such instrument). Once these are completed, attach two copies of the photo in addition to your old visa before sending it to the third party (Cox&Kings).
With patience and little whining, I completed the application and sent it. Once they received it, I got the acknowledgment and tracking info. I pulled up the tracking and saw thirteen steps and more than 60 business days before you get the visa. Within few days, I got the notice that the application is on hold due to incomplete documentation. Then I check and see the discrepancy with regards to the picture. In re-upload, reprint and send the application again. They received it and it appears that the third party provider has shipped over my application to consulate for processing. So I am eagerly waiting for the outcome of that process unless they find some other discrepancy and I had to resend the documents.
I get it that India is developing country and they have to follow colonial processes and bureaucracy. But I wonder who came up with this complicated process to renew the visas. Do they not want their non-resident Indians come back? what is the motivation or reasoning behind making such a complicated process? why do they need so much documentation and notary? I keep asking the questions and find no answers.

Is there a data problem?

Data image

“Numbers don’t lie. Women lie, men lie, but numbers don’t lie.” – Max Holloway

Data in its simplest form may not be just numbers but it can communicate meaningful information in our lives.  Take salary for example, we all know that it has to go up and when it comes down everybody notices it. Typically no one complains when it goes up but never fail to report if the numbers are down. Let us consider an hypothetical problem  or perceived problem of salaries paid to employees.

The employee Gabriel in the month of April reviews his salary and realizes there is a $200 drop from his salary from January and promptly calls HR. HR reaches to IT for clarification. Usually the HR software stores the details and we can easily extract it but in this case let’s assume that the calculations are executed in the backend code and just the results are stored in the table. 

IT looks at the numbers and sure enough there is a drop, let’s see what we can find. The general tendency is to assume that there is a problem in the system. With that assumption they do all querying, walking through the code applying the business rules but fail to find any smoking gun.

Then they realize after spending many hours that the system works as designed. There could be reasons outside the system that need to be validated. Meanwhile, they see some note that says the bonus is paid at the end of year but credited beginning of the year.  IT reviews with the business owners and sure enough they remember bonus given in December gets credited in January. Employee is notified and he goes back and checks his December salary and it matches with February salary. However, if the same situation happens in the future the same song and dance had to be done to identify the issue because the same employees may or may not be there to support the application. So it is critical we design our systems with enough logging and adding business calculations in the system designs.

In this case, we need to have included the bonus information in the table and a total on how we arrived at employee’s final salary.

The above use case is only for demonstrative purpose to explain the concept in simple terms and real life structures are much more complex.

Bottom line, when you go about analyzing the data make sure you trace the processes step by step and understanding if the numbers jive with the previous step, documenting it until you come to the end point. We need to have an open mind without any bias, in approaching these real or perceived data issues.

Google Cloud Professional Architect Certification Notes

For the past several months, I have been enrolled in Coursera to learn Google Cloud courses thinking of getting my certification by end of third quarter of 2019. I am happy to announce I took the exam and completed the certification on 9/13. Prior to that I might have spent many hours of video content and google cloud documentation. It is amazing how Google has built the infrastructure services thoughtfully to solve each and every aspect of application development and hardware allocation in spite of being late entrant to the cloud offerings. In summary, my journey is below:

  1. Enrolled in Google Kickstart programs offered in collaboration with Coursera
  2. Completed challenge quests in Qwicklabs
  3. Took five practice exams in Udemy (hat tip to Nizam Guntakal for recommending it)
  4. Reviewed notes from fellow architect

Overall enjoyed the journey!

 See my certification. 

Simple CI/CD Pipeline

Depending on the maturity of your organization, DevOps evolution becomes necessary. Here is an attempt to conceptualize CI/CD for single source system application. Since we cannot chew everything at once, I recommend two phases if we don’t count the optimization that needs to be done prior to this phase at the repository. For phase 0, implement Bitbucket or Git in order to leverage the automation frameworks such as Jenkins, Bamboo or Concourse.

Phase I recommends, that we automate all the deployments. It is easy to begin the journey there since you will find scripts that are used for deployment manually. These scripts can be “as is” leveraged to automate the pipeline. A word of caution is to delay the deployment to production automation until the kinks are worked out in the lower environments. This will prevent any untested scenarios to trickle into production causing errors.

Once the deployments are smooth, we move on to the Phase II of the implementations. During this phase, all the testing (Unit testing, Integration testing, Regression testing etc.,) activities need to be automated. This process can take long time depending on the robustness of the QE/QA department in your organization.

The above represents a reference architecture and in my personal opinion Jenkins framework provides the easiest way to automate the pipeline. The following pipeline, I created within few hours demonstrates the robustness of the solution. Here a docker instance of Jenkins, BlueOcean is created. Then used a simple python script checked into git repository to demonstrate the concept. The pipe line has simple pipeline: start->Build->Test->Deliver->End. The pipeline starts by checking out the code, then compiles it and runs unit tests before delivering the results file and terminates the flow.

[KGVID]https://datawebtect.com/hosurblog/wp-content/uploads/2019/07/simple-pipeline-jenkins-1.mov[/KGVID]