Categories
Software development

Performance test and performance tuning

Reading Time: 3 minutes

Below is from a tweet/X thread I wrote last year. I wrote similar but shorter version on LinkedIn too.

#Performance testing is important. At the same time, we don’t want to the performance tuning too early, or set an unrealistic performance goal. A better way in my opinion is to tune/optimize the app (or web services) performance as it scales up (getting more users). In my career, I observed quite a few examples of “performance tuning too early“, “unrealistic performance goal” and “unintentionally impacted production systems during perf testing” (exchange server, for example). #AppPerformance #PerformanceTesting #PerformanceTuning

For the second category, unrealistic performance goal is one reason the Ascension One Nurse app wasn’t successful – (below link is no longer available, unfortunately) https://ncoe-static-public-site.pub.cloud-03.pcf.ascension.org (the iOS app is no longer in the App Store either). I was briefly involved in the development more than 2 years ago, fill in as architect. But the new dev manager and his boss were obsessed with some unrealistic performance matrix before the launch. Guess what? It never got launched completely.

Category 3, unintentionally impacted production systems during perf testing, once when doing perf testing we overloaded the exchange servers as we forgot in our code we sent email first. The exchange server admin had to intervene manually to make sure the company wide email system is working properly. We should use the exchange server testing environment instead of the production environment.

Btw, I believe the company likely spent millions of dollars on the app development – mostly thrown away for now as the app is no longer in the #AppStore. Some of the backend web services could be used in other scenarios. For that matter, if app code is reused then it’s not thrown away.

This is the screenshot of the admin or support website


Pet Project

This project was one of the reasons I left that place to pursue other opportunities. I feel the management on my work place is mostly spinning on the wheels: and try to scape goat the vendors for any mistakes. #officePolitics || A funny part of all this is: I believe the project eventually got cancelled after they spent all the money. Note from the vendor (the contracting company who provided dev/qa etc.) point of view, an open ended project (bill by hour) is the way to go. But in real world, even an executive (more on LinkedIn) sponsored project usually has a budget. I don’t think the unrealistic performance testing alone sunk the project. But it did contribute to the ultimate failure or put the nail on the coffin (if I may).

Also, this is not the 1st time I worked on an executive’s “pet project”. I recall long time ago, when I was working for my 1st US employer, I worked on a project like this. The main difference though, is we did deliver something. I think one way to counter this “never going to production” tendency is to follow Josh Long.

Interestingly enough, in another place and another project, another executive sponsored application re-write project (MyMercy) failed too – that one failed early and failed fast, so in a way that’s a good thing.

There are other failed projects that I was a part of it: maybe someday I will write more about them :-(. Remember the saying we all learned more from failures than from success. I guess ideally it someone else’s failure. Hopefully someday I will write more on the topic in terms of failed projects: why they fail. Statistics shows IT projects have a high failure rate (personally I recall this EDS/Navy project), especially the rewrite ones (refer to Reddit – Why exactly does most software rewrite fail?)

A related observations over my years working at corporate is: what if we especially the higher-ups treat companies’ money and resources more like her/his own (assume he/she is thrift just like Warren Buffett 🙂 I have seen many managers treat companies’ money as if he/she won the jackpot.

Success Outcomes

Last but not least, I did have some successful stories to tell on performance tuning: I recall in year 2006, I did quite bit on work on this for a CAD translator; in year 2013/2014, I worked on an interesting problem at Mercy (modeling the Salesforce hierarchy inside Java); then in year 2017/2018, while at Mastercard, I participated in some performance tuning work for web services which happened to have 9 fold increase of usage and our goal is 100 transactions per second. Then at Ascension, we were scaling up the Covid Screen and Go app quickly (the email outage issue happened because of we were not careful), and also at one time, we noticed the auto scaler is not working properly. Or in other words, the load balancer was sending traffic to unhealthy nodes, or instances, and we were able to correct the health-check and fix the root cause of the issue.

Some of the tools I used: Dynatrace

Categories
gadgets

My smart watch over the years

Reading Time: 4 minutes

On Oct 13, 2015, I bought this Martian Watches Notifier Smartwatch – White from Amazon ($50). Note this is just a notification watch, and it can send the text message from phone to my watch. The reason I wanted it is because at that time, I was worried I could miss the text message over night during sleep, when I was doing on-call duty (a part of the job). Btw, I just noticed I talked about the experience of on-call and notifications here. So I mainly wear this watch before I went to bed. You may wonder I can just make the iPhone louder and that way it will be harder for me to miss the text messages in the night: the reason I didn’t want to do that is I don’t want to wake up my young kids and my wife. A vibration type of notification, or a nudge on my wrist is much better.

Looking back, I think I probably should have bought the Apple Watch instead, to avoid all the troubles. But note Apple Watch was released on April 24, 2015, and in general I don’t like to be a guinea pig of “version 1” product, that includes the Apple iPhone too.

I used Fitbit for a while too (blog post 1, blog post 2), before eventually switching to Apple watch in Jan 2017. I vaguely recall I didn’t like the FitBit charger feel on my wrist. Apple Watch feels more natural. Interestingly enough, recently I sold a charging cable for FitBit on eBay. On the other hand, I recall FitBit has longer battery life and also can records sleep (Apple Watch could not do that in its early days, also the battery life was not ideal). Before Fitbit I used Jawbone UP band briefly (see my blog post here). My recollection is Jawbone UP band had some quality issue.

I am happy with Apple watch since then. Recently I bought the series 9, which is my 3rd Apple Watch. My 1st Apple Watch is Apple Watch Series 2 Nike version (42mm). That one had some issues and eventually I was able to go to the Apple store and receive a replacement (it was still under warranty, under a year). Note all the Apple Watch warranty is honored by Apple, even the Nike version (I bought it from Nike.com online store then).

My 2nd Apple Watch is series 5 and this time I got a smaller version which is 40 mm and it fits my wrist better.

For my new series 9 I intend to use its cellular feature so that I don’t need to carry the phone all the time. Recently I realized being parent is 24×7 on call duty too: especially when we talk about 14 year old. But it will take another 6 month or so for me to get a cellular plan for my watch because right now I am MintMobile, and they don’t support the Apple Watch Cellular yet. I plan to switch over to the Visible mobile after my current contract with MintMobile is up.

One thing I noticed is the series 9 got some new watch faces, including the UVI (UV indicator). This is probably useful metric. Also, I am using the grey color modular face for now, this may (or may not) save some battery. (Confirmed 06-03-24) from last week’s usage I would say that watch face, plus the new watch (battery) helped – the old series 5 needs to be charged every day, now series 9 can last at least 36 hours (likely more).

Btw, the price of the Apple Watch seems fluctuates, I just noticed this Midnight Aluminum Case with Midnight Sport Loop is cheaper than the product red I got (by about $70; product red was $399). But the product red version I got has more character 🙂

Also, I don’t recommend getting series 8 at this time, as we expect Apple releases series 10 later this year. Apple usually does annual release of new watch. Series 9 was released last Sept.

I just sold my series 5 on eBay for $85 (was $299 bought new at Walmart about 4 years ago), btw. Similar watch is selling at about $150 at Amazon Renewed Store (more on Amazon Renewed Store). This is a little like the Plato’s Closet used clothes store that my 14 year old recently got interested (or obsessed), in terms of concept and less guilty on consumerism (YT video 1, YT video 2).

I vaguely recall I sold my series 2 on eBay in year 2019 too.

FAQs

Why I switched to Apple Watch, or bought Apple Watch?

Besides it has a better watch band (a more natural fit on the wrist), I found out from my coworker at Mastercard, that using Apple Pay via watch is much easier than using the iPhone.

Do I take phone calls on Apple Watch?

Yes: I do. I recall I do that when I was holding my baby (Sophia), and when I was driving. Fun but relevant and I strongly recommend you don’t do it: on the days I worked for Mastercard, on some days and during the commute, I texted coworker on the Skype Business on the work iPhone.

How long does Apple Watch last?

Per CreativeBloq: There will always be exceptions, but on balance, based on the experience of our own reviewers and the comments we’ve seen from users online, I would say that an Apple Watch provide five to six years of good performance.

(Update 04-24-2025) CNET: Apple Watch 10 Years Later: The Feature That Changed Everything for Me

Categories
Life Life Tips

人到中年要注意的事

Reading Time: 2 minutes

Things to pay attention when we are over 50

(I borrowed this paragraph from a high school classmate in mailand CHN) 我来说几句吧,不妥之处请大家指正:1. 一定要有医保,有能力的可以适当配点商业保险 2. 同学们都巳年过半百了,各种慢性病会慢慢出来,应该学习一点医学常识。个人建议关注以下几个(微信)公众号: 丁香医生/ 菠萝因子/ 营养师顾中一

Below is my own cooking

Exercise 锻炼身体:running, jogging, and walking 跑步,慢跑,走路 are all good. Many other good cardiovascular exercise 心血管运动 include cycling, swimming, and tennis. Take your pick. 饭后百步走,活到九十九。Aerobic exercise 柔韧性锻炼也不错,如瑜伽,普拉提等。跑步前后注意拉伸。

至少要有大病保险;buy health insurance, as a minimum one should have the catastrophe health insurance: meaning the insurance that covers conditions such as cancer. This is needed for most people; I mean the people who doesn’t have 100 million dollars or more – who, btw, may be able to self-insure. Even in that case, one should find an administrator (basically a company that acts as middleman between you and the providers).

Colon cancer screen

聆听自己身体的声音,每年体检,看情况做一个肠镜;see your doctor and get the colonoscopy every 5 or 10 years. Below is example of people who got colon cancer and found out late.

Indianapolis TV Anchor Tanya Spencer Dead at 53: Her Final Social Media Post Issued an Important Reminder

I’m a 34-Year-Old With Colorectal Cancer. Here Are the Early Signs I Wish I Hadn’t Ignored (btw, an alarming trend is colon cancer patient get younger, as you can see from this google search)

Guys:

prostate and bladder (urologist);

Ladies: mammogram, breast cancer ♋️

好汉不提当年勇,包括开车

2000年夏天我和朋友一起轮换开车从圣路易斯到黄石,总共大概24小时,没住旅馆,累了就在加油站打个盹。08年开同样的山路感觉就有点怕,19年类似的山路更是不大敢开。

We are no longer in our 20s or 30s, this includes everything from drink, driving to eating. Pay attention to what we drink or eat. I found out I can no longer drive the mountain roads as confident as before – which is okay. I just need to be careful and mindful. If I cannot do it, I don’t do it.

饮食

我们这个年纪自己还是有可能调节的:饮食,少喝酒,少糖,多蔬菜🥬水果,包括有纤维的蔬菜水果🍉,我个人感觉酸奶也不错。还有睡眠,运动等。

Also, refer to What’s For Dinner? 晚饭吃什么 – A Series On What We Eat And Its Impact On Our Bodies – I

睡眠

我一般心里有事,就会影响睡眠。我的办法一般是白天多锻炼;实在睡不着就听收音机,尽量避免手机,电脑等。

Shingles vaccine 带状疱疹疫苗 (CDC, CDC PDF; Mayo Clinic).

(05-26-2024) I went ahead and decided to get the vaccine at local Walgreens. Today 05-27-2024 I felt a bit drowsy, tired and a touch of fever (I googled the shingle vaccine side effect too). Note this is not as bad as the Moderna Covid-9 vaccine I took about 3 years ago. (05-27-2024 evening) I jumped to conclusion too quickly, it ooks like my fever is not trivial (about 101F). More on side effects on CDC website.

Also, note the vaccine is 2 shots, and I will likely get the 2nd shot 2 months from today.

More information on shingles (Mayo Clinic); 带状疱疹 (妙佑医疗)

(Update 10-21-2024) I did 2nd shot yesterday afternoon. Today I felt not well again. Some fever etc. Hope I can recover tomorrow. The nurse at Walgreens did mention the side effect after 2nd shot is usually worse than the 1st shot.

Will:

Make a will. If kids are old enough, involve them in the process (learned this from Warren Buffett).

不折腾或少折腾 包括工作不要太拼(don’t work long hours without break, and do it for a long duration)。

PS: many of the things mentioned above are important when one is young too. But better late than never.

Categories
gadgets Life Life Tips

Mowing the lawn and lawn mower 割草和割草机

Reading Time: < 1 minute

在2019年之前,我大概有二十年没有割草了。从1998年一月到1999年七月,我住在罗拉的美国大学生的兄弟会(Wikipedia fraternity; interestingly I joined the Delta Tau Delta fraternity (Epsilon Nu chapter) which is shown in the image when you do google search). 我在兄弟会的时候割过几次草。兄弟会有duty, 翻译成中文大概是值日值班的意思,我的任务里有不少是洗碗,偶尔也有割草。兄弟会是汽油的传统割草机:会有汽油的味道。印象最深的一次是大概是98年的夏天,兄弟会后面有较大的草地,我们一开始没有割草,后来发现有(不太友好的)邻居把我们举报了。马路对面的美国邻居是较友好的,我印像中他叫Bob May, 他告诉我们这个事。后来我们兄弟会有能力的美国小兄弟,去租了一个可以坐上去的割草机,把后面的草给割了。

Google search fraternity screenshot (partial):这个正好是我的兄弟会 Delta Tau Delta Epsilon Nu

我2000年十月份来圣路易斯以后,一直住公寓和康斗(Condo, 相当于买下来的公寓), 就不用担心割草的事。一直到19年夏天,搬到现在的独门独户的房子。

我一开始在亚马逊上买了这个 Greenworks 40V 16″ Cordless (Push) Lawn Mower,用了几年,效果还可以。一直到去年(2023年)春夏天,第一次割草时感觉很卡,割两下就熄火Shutdown. 我想两百多块的钱,用了快四年,也值了本了。正好在Costco 看到这个马力大的 Greenworks 80V 21″ Gen 2 Self-Propelled Mower, 还打折,就跳了。事后想想,打折的东西要稍加小心,也许有坑。

后来发现确实有坑:这个割草机的好处是马力大,也有自推的功能。她的缺点是一个电池基本上是坏的,还有她在草较长的时候也同样熄火。最近我联系了厂家,换了个电池。但是总的来说她家说充满电一次可以割 0.75 acre 是达不到的我家的院子大概是 0.28 acre, 冲满电也不能一次割完。这也让我联想到买第一个电动割草机的时候,亚马逊上有一个美国老太太的留言,她说一次割不完也挺好,人也正好可以休息一下。

我现在两个割草机都用。电池都充好电,一个没电了,换另外一个。最近发现割草的一个好处,就是可以消耗我的体力,这样某种程度上有点像跑步,可以帮助我的睡眠。

PS: 在圣村,有时候太阳很厉害,如果自己在外面割草的话,记得要涂防嗮霜。

PS 2: 如果自己不想割草的话,其实有很多专业的 landscaping 或是割草的公司,大大小小的都有。我估计,一般用邻居用的割草公司,价格一般不会太贵(我住的区是一个平民的社区,如果是富豪区就另当别论)。

我自己估计我家一次可能四五十块钱。好算一点,一次五十块,夏天两星期割一次,圣村夏天大概可以算四个月,17个礼拜,我们就算割8次,$50×8=$400, 夏天就要四百块。春秋也得割草,算一个月割一次,一共算五次:$50×5=$250, 一共是二百五,总共一年割草是$650, 或是七百块钱。

我上面的两个割草机,一个是两百多(19年),一个是四五百(24年买的,请注意我上面提到的缺点,最好读一下用户的评价,我觉得有些评价说的很客观),两个估计都还可以用上一段时间。电费我没算,我自己的时间也没算。但是需要考虑自己锻炼身体的好处-这个是用金钱难以衡量的。

Categories
advice and tips Life Life Tips

人到中老年少折腾

Reading Time: < 1 minute

好像有个说法,人生在于折腾。

Zhihu: 人生的意义在于折腾

晚读 | 人生在于折腾,而不是年纪轻轻趋于平静 (新黄河 via qq.com)

我想对年轻人来说,这个基本上是适用的。比如说前几年流行的创业,我们年轻时(大学毕业时,九十年代初)去南方,广东,深圳等。With some exceptions, of course. The main thing is we all need to listen to our body – doesn’t matter whether one is young or old.

We want to avoid things like below

Another death at BoA (X)?

A 25-year-old Bank of America credit trader died suddenly at an industry event on Thursday night

不单是万恶的资本主义才有这种现象。I heard about similar cases such as

拼多多员工猝死 (Baidu)

拼多多年轻员工“996”加班后猝死 官方账号“冷血”回复引发众怒: BBC

我妻之死 || 华裔丈夫悼念长文《我妻之死》引争议!把妻子当工具人,又一个林生斌?!

从国内搬运来妻子后,《我妻之死》的翻版

6月2日,浙江台州,在黄岩布袋山石人峡景区发生-起悲剧事件。一支来自宁波的户外探险小队,因涉水过横切面,结果发生悲剧,有两人不幸被冲走,至今下落不明。有后续成员拍下了事故发生的全过程,我来分析他们到底犯了哪些错,才导致付出了生命代价,以此供大家警醒。

Andrew McAuley (Wikipedia, Twitter/X): quote wikipedia – Andrew McAuley (born 7 August 1968; presumed dead 9–12 February 2007) was an Australian mountaineer and sea kayaker. He is presumed to have died following his disappearance at sea while attempting to kayak 1600 km (994 mi) across the Tasman Sea from Australia to New Zealand in February 2007.

身边的例子

我想到我的一个老乡,比我大几岁,大学毕业后,当时闯深圳可能比较流行,他也去了。后来没多久,他得了不轻的病,回到老家休养了。现在应该有三十多年了。也不知道现在他的情况-他是我大哥的同学,也是镇海中学高中毕业的。

其实更早些,我有表哥表姐上山下乡,有去黑龙江,新疆,云南,贵州。她们大我十几岁,二十岁。后来她/他们都回老家上海了。

我自己97年香港回归那一年夏天来的美国中西部,一晃就有快27年。前两天看油管,有一对华人夫妻,也是大陆过来的,油管上的网红北美天马行:频道名是英文 BestYears2BestPlaces. 大意是在走不动之前到处走走-这个想法本身没问题。下面是她们频道的介绍。

北美求学, 毕业, 工作, 安家,养娃养房养花种草, 生活像陀螺 … 突然因为疫情蹲家工作,带你一起分享我们在北美的生活,旅行,旅居,和考察退休地。
*** 原创不易,谢谢您的关注和鼓励! ***
联系:一个 gmail 的邮箱

折腾

我看了一下她们的频道,主要还是关于旅行,养老,房子等等。看她们经济上基本上是自由的。她们也讲到断舍离,和搬家等带来的emotional drain.

油管是个无底洞。后来我看到,有关于哥斯达黎加,和马拉西亚移民的视频。后者(马来西亚留学移民)的视频非常多,因为天气方面两个地方都不错(不冷,年纪大的人一般怕冷),马来西亚在地理位置,饮食,文化等方面更有优势。

说到折腾,让我想到我的一个表姐,就是我上面说的情况里的一个。她当年回城其实是跟当时在乡下的情人被迫分手的,因为男朋友不是上海人。这种情况当时应该不少。但是我的感觉也是留下一个后遗症。多年以后,她的老公已去世,小孩结婚后关系也不好。最近我听我爸爸说,她开始了网恋,其实就是应该是单恋抖音上一个类似秀才闻神这样的人。我爸爸很不以为然。

最近我高中同学独自驾车去西藏旅游,结果高原反应,现在还没出院。后来大家才知道,他的身体其实不太好。我可以理解他想去驾车独行,但是不管怎样身体是革命的本钱。

我后来想,有可能我的同学看抖音或微信短视频多看了一些219国道怎么好玩。这类的视频一般容易一边倒,主要是抓眼球和流量,不会讲究质量,科学,严谨等等。

不折腾

其实很重要。我记得,大概二十年之前,因为我的个人工作生活不是太顺,我想过要不要去读一个 Master of Financial Engineering, 然后跟我在罗拉时的师弟那样,去华尔街做几年。我好像当时申请了纽约的哥伦比亚大学。她家没要我。某种程度上,我觉得是庆幸的。

(05-19-2024) Now I think about it, both (late) Charlie Munger and Warren Buffett stayed in their respective houses for many decades. Once Charlie joked, if people offered money to move across the street, he would not do it (the context is a question came up re: some rich people in California moved to Texas to avoid high tax).

Last but not least, I like to share something I heard – “We don’t know if we will die from overworking but why take chance” – probably said by Ronald Reagan (per Charlie Munger or Warren Buffett). Btw, I ran at Olivette this beautiful Sunday morning.

Categories
Software development

Another day, another healthcare related hacking

Reading Time: 4 minutes

Or ransomware as a service or RaaS, please refer to this Pensacola News Journal article, search for “Black Basta” for the detailed information. I felt this article was well written. Unfortunately, this one is the place I used to work – Ascension Health (company official note on this cyber security event). I also talked about Ascension from time to time, after I left the company in June 2021. Here are some tweets.

Impacts

My 1st worry is its impact on patients, such as this patient in Wisconsin (I tweet below too). The impact to the patients is real and in a way is similar to the recent Change Healthcare hack (WSJ; I have a blog post too).

It impacts the caregivers too – Ascension cyberattack: Patients, nurses frustrated as problems persist. And all over Ascension service area, such as this one in Middle Tennessee, ‘Chaos’: Nurses, visitors describe conditions inside Ascension hospitals after cyberattack. This is very unfortunate for the patients, caregivers and impacted families. I just don’t have words for them – I hope they all can pull through. I will touch upon the evil of the bad actors below.

All this also showed the computerization of the medicine (or healthcare), while has its advantage: electronic medical record in theory at least gave the provider a holistic view of patient health issues. At the same time it shows its fragility (easy to break). Paper based process is always needed, because no computer systems is 100% reliable. This is somewhat like the Disaster Recovery (business continuity process) many decent sized organizations run or try to run, in case something horrendous happens (natural disaster, fire and so on). But in real life, how many hospitals or providers have the paper process nailed down, and have regularly ran the DR exercises. For me personally, I only saw DR exercise in action at Mastercard (and I participated it once as a lead, and it was quite interesting). In fact to me “production” is also interesting 🙂

Last but not least, if there is no lawsuit, then it’s not America. Central Texas woman sues Ascension following cyberattack.: interesting part of this article is it talked about RaaS and “Black Basta” in more details.

Health Insurance

We know in the US, health care system is very complicated (I wrote a series on this, the 3rd post is here).

Also note Ascension’s insurance (Blue Cross Blue Shield of Michigan) is not that great to begin with, as I learned 1st hand from my COBRA usage, or attempt to use my COBRA coverage after I left. My new employer’s benefits didn’t kick in immediately and there was two months gap.

Why I left Ascesnion

Below is one reason, the event proceeded my leaving. But not the only reason. I guess we may say that’s last straw.

Incidentally I worked at another major catholic hospital chain in the St. Louis area, and while my experience is not as bad, nonetheless I was not happy on one project – at one time we were briefly asked by the management to come in on Saturdays to complete the project “on time”. I knew it was mostly for “a show” not for actual completion of the project. And we had quite a few people quit (jump ship) during that time.

At both places, I have seen or worked on ambitious projects that started because one executive has the budget, and later on had to abandon because of various reasons. I understand software development projects are notoriously for cancellation and budget overrun because its complexity, hard to estimate and changing (or sometimes random) requirements. But I have worked on other industries too, and they usually “fail early, fail faster” (the agile way).

Recent cyber security events that I wrote

Panera Bread System Down

UnitedHealth Group Change Health Hack

Odds and Ends

Before I join the company (Ascension.org), I encountered some issues (login or single sign on SSO related) at myAscension.org. I still encountered similar issues (I would say about 33% failure rate) when I was working there. Looking back, this is a red flag of an organization’s IT capability.

If you happen to work in the IT/software development field, think “security security and security” all the time. It won’t prevent all the hacks. But it’s a good starting point. Btw, once when I was working for the Mastercard, I had the fun task to investigate the bad guys logged into a bank’s rewards redemption website and redeemed air tickets and hotels. One thing I still remember is this “client attorney privilege… ” in the email thread; another thing I was emotionally drained was seeing how some people can be that kind of malicious (stealing is bad, stealing on internet is equally bad as physically stealing). I also recalled when I was at college, I was stolen twice, once at a bus, someone picked up my wallet (when I realized, it was a bit late); another time, someone broke the lock on my drawer and took the money that my dad sent me recently. Always have the “security in mind” in daily life and in IT. Learn as much as you can, such as this Security in Mind channel on YT.

Last but not least, I understand we are going towards “electronic medical record” world, but we probably still need to keep some papers around prescription, vaccination records and testing results etc., better yet, back them up in the iCloud or somewhere you believe is safe, just in case the MyChart etc. goes down.

More Coverage in the news

Retired FBI agent weighs in on Ascension cyberattack

Fallout from Ascension cyberattack continues: Michigan pharmacies can’t fill prescriptions

Healthcare leaders praise Ascension cyberattack response

Ascension nurse: Ransomware attack makes caring for hospital patients ‘so, so dangerous’

Delays in cancer treatment. Canceled appointments. Long wait times. Ascension patients still grapple with fallout from cyberattack

How the Ascension cyberattack is disrupting care at hospitals

Ascension Saint Thomas Health patient files class action lawsuit over data breach

Ascension patients still grappling with fallout from cyberattack

Nurses fed up with Ascension Healthcare security breach issues

‘They need to step up’: Retired FBI Special Agent speaks on current Ascension cybersecurity attack

(June 13, 2024 at 7:21 AM) Ascension cyber attack caused by worker who accidentally downloaded malware – Officials: Attackers accessed 7 of 25,000 servers

(06-19-2024) Patients at Ascension hospital network given dangerous doses of narcotics after disastrous cyberattack: “In another case, a female patient suffered a cardiac arrest and died after data mishaps delayed test results that would determine her life-saving treatment.”

(09-19-2024) Ascension posts $1.1B net loss for 2024 after May cyberattack

(12-20-2024) Ransomware attack on health giant Ascension hits 5.6 million patients

(Update 04-29-2025) Ascension data breach impacts patients in 5 states, including Michigan

Categories
math-and-edu

A math (algebra) visualization tool – mathway

Reading Time: 2 minutes

A math (algebra) visualization tool – mathway

Bumped into it as this morning my 14 year old asked me a question related to this. Her question is about the “parabola shape and formula”, or how they become narrow or wide. For me I think I probably learned this about 40 years ago (at my 6th or 7th grade, 7th grade more likely). So “in Google I trust” and I found this.

This seems somewhat like AI (or ChatGPT) and also I was a bit surprised to find this is owned by the public company Chegg and the market cap of $CHGG is quite small – (assume they are leading edu tech company, this sector is probably very much segmented).

PS: Now I think the graph calculator probably has this function too. I didn’t have the graph calculator 39 years ago in China – saw it at graduate school at Rolla about 27 years ago

Categories
gadgets Software development Windows

Desktops, Laptops and Virtual Desktop Infrastructure VDI for work 我在美国上班20多年用过的那些电脑

Reading Time: 11 minutes

中文版 – 谷歌翻译 – 美国上班20多年用过的那些电脑

I started working in the US since Oct 2000. In a few years, hopefully I can retire from my current software dev job on my own terms (rather than let’s just say being replaced by AI :-). When I 1st started to working in the US, back in year 2000, I had an HP-UX workstation. Something like below.

HP-UX workstation, similar to what I used at the time, source (Reddit)

You probably wonder how was it in terms of the user experience. I would say not that great. Please note around at time late 1990s and early 2000s, Unix workstations were actually quite popular in many places, including the graduate school I went, formerly University of Missouri at Rolla (now Missouri S&T). The Windows NT just came to the scene in the school and work place at the time. It was new and cool, but not at the spot that it dominates.

Note the company gave developers older (slower) or newer (faster) workstations to developers usually by seniority. Because I was new I received an old and slower workstation. And once I decided remote logging into the more powerful build machine, which was the workstation was assigned for compile and build work for another team, btw, I wasn’t aware of the assignment part, and do some work there. A few days later, the build person on the other team knocked on my cubicle and complained about it. That was actually minor compared to another incident. At the time if we want to use Windows, we log into a shared Windows NT workstation via a client on the HP (or something like that), once my “significant other then” decided it was a good idea to check her Hotmail via the mechanism I mentioned above and she ran a virus exe file right there, that broke the shared Windows NT environment for our department. It’s called WinCenter, here is the doc I happened to bump into. It works on UNIX work stations. Note the page 2 of the doc: “WinCenter WS+ provides the following capabilities for HP, IBM, Silicon Graphics, and Sun workstations” – at the time we have all 4 UNIX flavors for our software – which creates some challenges, because sometimes the bug only show up in a particular platform/OS. Most dev used HP-UX and are familiar with it, and HP-UX does have a reputation for overly lenient on memory management.

The following Monday the operation manager for my department knocked on my cubicle – he was as cordial as he could, but I got the lesson.

Windows

The Windows was already invading the market shares of the good old Unix workstations in year 2000, when I started working for the CAD software company. One of my project leads (tech lead) got his windows desktop 1st. He was the only one has the Windows machine. In a few years (I would say 2 to 3 years), we all switched from mostly HP-UX gcc debugger (and a few Sun Solaris holdouts) to the new and cool Windows desktops with Visual Studio IDE. I even saw the CEO of Microsoft Steve Baller once, when he was in STL to promote Visual Studio. Below I found this Steve Ballmer’s Microsoft Windows 1.0 commercial to be fun. He was just like that.

Steve Ballmer introduces Windows 1.0 back in 1986

I recall at one time we supported the Linux distributions as well as the Mac. Because the code was written in C for our CAD software, the main task here is compile and porting to the other platforms including automated integration tests. I did a bit of those tasks (compile, build and run the auto tests) on those platforms. Again the main development was done on Windows via Visual Studio at the time because that’s the most popular platform and it has the best dev tools too.

My 1st work laptop (sort of) and my Shanghai trips

Fast forward a few more years. I need to work remotely from China (our company just established an office in Shanghai). But this is also my personal trip as I need to see my families in China: working from Shanghai office will give me some time to explore, and also that was also the time I met my current wife.

Dell Latitude D420, illustration purpose

I recall in Sept 2006, my boss found me a used (a few years old) Dell Latitude business laptop which was retired device from a manager (and a former dev): and I used it doing coding work in SH office. I recall at the time the memory for the 32 bit Windows machine was 4GB, and I need to use up to 2GB for the program I am developing, and I was very careful about memory usage both inside my code and outside my code (mainly shutdown unnecessary programs). And you may already know, hardware itself isn’t the No. 1 determining factor of productivity – on that laptop, in Sept 2006, I fixed a bug in our software that’s also highlight of my dev career so far. With that fix, our German sales team could go to BMW and demo our software (otherwise we just could not go). That laptop also accompanied me in 2007 when I was in Shanghai for about 6 months (2 trips) when I was spending time with my girlfriend (my current wife). I wrote some blog posts when I was working in Shanghai in year 2007. I listed a few below.

Shanghai Market Is Still Hot

United Adventures

English Training Companies In Shanghai

One Bedroom Apartments In Shanghai

Back To Shanghai (Again)

Apply US Visa In Shanghai

When working from SH, sometimes I also used the Windows Remote Desktop logging into the desktop in my STL office/cubicle. It worked out fine too. I returned the laptop when I left the employer in Nov 2008.

Note around that time, probably from the year 2003 to 2008, Windows also became the dominant OS (platform) for our CAD software , and most UNIX workstations are going away, and at the same time, we support Mac, and two main Linux platforms (RedHat and SuSE Linux). Apple used our software for the designing of iPod (and likely iPhone and Mac, MacBook too). Of course they insist the design software runs on Mac 🙂

ThinkPad

Also in Nov, 2008, I started my new software consulting job at Autodesk, and I received a large screen IBM (or Lenovo? I don’t recall when exactly) ThinkPad for my job. I think it’s probably ThinkPad 500: Wiki and review). This one works fairly well, I used it for all kinds of work, including the AutoDesk Intent (Inventor) customize project, burning software CDs for customers. The reason I need to burn our software CD (mainly AutoDesk inventor, different languages), is because one particular customer asked for them and she is fairly demanding. I recall she threatened that our onsite consulting project may be in jeopardy if we don’t give her the CDs. It’s also interesting, my then more experience colleague commented privately: the customer thinks they own the software, they don’t – they are actually leasing it.

ThankPad 500, Illustration Purpose

Desktop days and my 1st touch of VDI

I worked on two contractor jobs after my Autodesk gig (which was a full time position). For the 1st contractor job (it was basically a contractor job for a large railroad company, and I used a Windows virtual machine – I cannot recall the exact vendor. But my project is fairly small, and it doesn’t need a lot of horse power.

My next contractor position was for a large moving company, and they gave me a desktop. That one is not quite powerful, and I used Eclipse (Java IDE), ant and some other IBM tools or software (DB2 and their J2EE stuff came to mind). I didn’t have laptop for work then. This has both plus and minus. Here is the plus, because we cannot move desktop, when we go home, we can no longer work – which is a good thing if we want a clear separation between work and home life. At the same time, the minus, because coding job is a brain work, not physical, if we have some ideas about the work, we can write it down, but we cannot try it out on the computer right away. Sometimes when the creative juirce is flowing in the brain, it’s better to let it flow 🙂

Other minus: on days when my car is broken down, I need to rent a car to go to the office and work (there is logistics work to rent/return the car, and so on). If I had the laptop, potentially I could work form home when I didn’t have a car. This is also the last time I had desktop for work. From then on, I exclusively had laptops (or VDI) for work, and basically I can work from home if needed (before laptop, it’s possible to work from home using Windows remote desktop from the home PC, but it’s not very efficient). Also before pandemic, in the most companies I worked, work from home is usually not the norm, it could be used as a last resort (e.g., snow days: I recall I did that once when I was a contractor for the railroad).

My two laptops days

In Jan 2012 I started doing iOS for my day job – I mainly Mac for iOS dev, and Windows for .Net web service dev. I also bought a MacBook Pro in year 2013 for my iOS contractor short term gig. Later in Nov 2013, I was back to java dev for Mercy, 1st on Windows, later on Mac. I had two laptops to return when I left Mercy for MasterCard in May/June 2015.

I bought the below MacBook Pro (the 1st retina series) in spring 2013, when I started as a contractor for EHI (now it’s Enterprise Mobility). I was an iOS contractor focusing on internal iPad app development: they gave me a Mac Mini in the office. I decided to get my own device so that I can have more flexibility. I used that device for almost 10 years including the briefly used it for my daughter’s virtual learning between March 2020 and May 2020. I sold it via eBay in year 2023 (I bought a MacBook Pro 16 inch Intel on Oct 31, 2020 – this is the main personal laptop I was using for last few years, including sometimes using for it work (more on that latter).

The 1st MacBook Pro I bought in year 2013, I sold this last year on eBay, having used it for almost 10 years

Mastercard was similar to Mercy: I had Windows laptop 1st for production support job; later I received a MacBook Pro for dev (they have a choice for devs to pick either Mac or Windows). It took me quite some time to setup the Java development environment on the MacBook in year 2018. A few months to be exact, but I was happy I finally made it work after spending “much of my spare time”.

In Jan 2019, I returned both laptops to MC due to layoff. Actually I returned my iPhone and MacBook on the spot – I returned the Windows Laptop via Fedex a few days later: because I left it at home that morning, when I drove to office for work (I was not expecting to be laid off that day). I only realized the possibility of layoff about 15 minutes before the meeting with my manager and HR person. My manager updated the meeting room a day before – I realized the meeting room which is near HR – was intentional: again I only realized it about 15 minutes before the layoff meeting.

Pandemic and work from home

In March 2019 I started working for Ascension Health. Again I had Windows laptop 1st, and later I received a MacBook Pro (in year 2020, later half). Due to my job nature at Ascension, I didn’t get to do much coding and in year 2021 I decided to switch jobs and get back to coding – which is what I am doing now, for the most part, to say the least. And guess what, for my current job, for the development work I got back to the VDI again. And to be honest, I was not too thrilled when I switched from the MacBook Pro to the VDI.

My initial Work from Home (WFH) setup during 2020 pandemic: I had a 13 inch MacBook Pro for work

Actually at Ascension I did some implementation using Horizon (VMWare) VDI for the new contractors too (guess the company ran out of money after handing out all the MacBook Pros 🙂 I recall the contractor VDI user, complained the Zoom or Google meet didn’t work well on VDI. I researched it’s a known issue and hard to work around or resolve.

A long twitter thread on #WFH setup including #VDI

Why companies chose VDI instead of laptops

Work from home (WFH) as a trend started from pandemic, and now WFH becomes mostly normal for IT and software professionals, at least a few days in a work week. With WFH, the laptop is naturally the 1st choice, but some companies decided to go with VDI. I think VDI has a few benefits:

1) Potentially lower overall cost and flexibility. The VDI is usually subscription or usage based. The employer usually needs to supply a thin client, or a lower cost laptop/desktop, plus external monitor(s). This is usually cheaper than a high-end laptop plus external monitor(s). Overall, the employer manages fewer hardware. The VDI instances are usually running in a datacenter and potentially can be managed by a partner (if not the company itself). I found this usage pattern or scenario works in the academics as well, as recently I asked University of Arkansas Walton Business School, for access to Teradata, and they provided the access via Horizon (VMWare) VDI access (which is similar to what I had or helped while at Ascension).

2) Centrally managed, and potentially better in terms of security and device management, this is evident in the deployment of many thin clients that mainly run Epic Software (EHR, electronic health record, or EMR, electronic medical record) in the hospital I have been to (Mercy, Shriners’ Hospital, BJC and so on).

There are downside of VDI too, as I mentioned some above. I recall in year 2021, when I 1st started to using VDI, at Panera Bread co., I lost connections quite easily partially due to the slow/not very stable WiFi connection at the Bread Co.

Moving from one machine to another

Do we want to move the trash over also? Or we move selectively? The right approach seems to be the latter 🙂 An old joke I recall from a friend: she said, they moved couple times, the boxes in the basement never got opened 🙂 In other words, those stuff are not used in her daily life.

Honestly I think it’s a great opportunity to clean up the house during moving. But at the same time, if someone is trying to keep things for a bit, in case he/she will need it down the road, I understand that too. In fact, I tried to save more than what I would eventually use – which is probably the case for most people. We overestimate what we would use in the future. That’s also one reason I got so much clutter at home. I need to get better at throwing away stuff.

My personal rules on company devices

This includes all the computing devices, from workstation, desktop, laptop, to VM and company phones. I think I did largely okay on this: in terms of personal info hygiene on those devices. Mainly I don’t store my personal information or kids pictures there. The only exception is iPhone (Mastercard), and I did use iCloud to backup my photos there. One horror story I heard from a former colleague at Ascension is the IT people wiped a retiring colleague’s BYOD (bring your own device) phone: all his grand kids pictures are gone. Btw, Ascension IT people nuked my work account in the morning of my last working day there – basically I had to ask my colleague send meeting invitation to my personal gmail if they need me, we were on the G-suite the Google suite for work 🙁

Anyone don’t put your super important, super personal stuff on the company devices.

PS: VDI choices from Citrix and Microsoft. I haven’t used them from personal capacity 🙂

Citrix: Windows, Mac

Cloud PC (Microsoft)

PS 2: probably in year 2006, I was thinking: “I am a slave of Bill Gates or Steve Jobs”. Hopefully I can get an upgrade soon. Maybe a slave of Warren Buffett instead (I am a big fan of him, btw)?

Categories
Investing Software development

Merger and acquisition arbitrage

Reading Time: 2 minutes

I talked about arbitrage quite a bit in my blog, but in terms of profit I didn’t make much until year 2022 – I followed Warren Buffett and bought into Microsoft Activision Blizzard acquisition. I got this idea when I attended #BRK2022 shareholder meeting in Omaha, Nebraska.

Most recently, I speculated a few more, one with the intension of arbitrage (Reddit $HCP – HashiCorp is weighing up a potential sale – Bloomberg Business); another one I just stepped on it purely by accident ($BSY). I know in many days, I stepped on the wrong thing (or stock), but this time with #BentleySystems, things are looking good 🙂

Today the Hashicorp news became official – CNBC: HashiCorp shares spike on report that IBM is in talks to buy the cloud software maker.

Note for Hashicorp, I was interested in its technology for a while, as you can read or glance through the below posts I made over the years.

My year 2015 post on Vault, the Hashicorp product for key and secrets
My year 2016 post on Hashicorp products, vagrant is somewhat like a VM, Consul is for service discovery (think service mesh)
My year 2020 post on Terraform, note TF is probably Hashicorp cash cow, and also important for cloud infrastructure life cycle management

Note in the years since 2015, essentially since year 2019, I thought about learning the #golang myself and apply for a job (likely dev) at Hashicorp. That didn’t materialize like many initiatives I had over the years. Also note in year 2020/21 while at Ascension health I did use the Terraform quite a bit for the GCP infrastructure automation. My main motivations to join them are two folds: 1) I was interested in Dev Ops and cloud infrastructure; 2) I recall if I join a startup when they have 200 people (or engineers), potentially I would make enough money from stocks so that I can retire early.

For $BSY, I heard about them for a while, but until recently I didn’t have chance to look at their financials (until they came to the public market a dew years ago)

My Jan 2024 post on $BSY

Last but not least, as the old Chinese saying goes, 胜不骄败不馁,what I need to do: is continue this battle on the stocks, and hopefully I will come away with more winners compared to losers (recently losers include $DT, $LEG Leggett & Platt which I talked about here, and $RIVN).

PS: years ago, to be more exact, about 19 years ago, I tried this #arbitrage investing approach too. I was not successful. I recall in year 2005, I tried to buy an oil company Unocal which was bided both by the US oil giant Chevon and Chinese oil upstart CNOOC. That one didn’t work out and my speculation failed.

Later there is the acquisition of Anheuser-Busch by InBev. I didn’t participate either, but I recall Warren Buffett and Berkshire Hathaway was successful on arbitrage.

PS (04-27-2024) I sold all my $HCP long position at $33 on Thursday 4/25, and now I think if it drops to $31.50 ($10% discount of IBM $35 offer price), I can make some money there – assume the deal doesn’t collapse, and I think almost risk free arbitrage from $31.50 to about $34. Along those thinking, I placed a limited “good until cancel” buy order of $31.50 🙂

Categories
Software development

Cobble Together

Reading Time: 2 minutes

cobble together per Collins Dictionary: If you say that someone has cobbled something together, you mean that they have made or produced it roughly or quickly.

Or Google AI overview“Cobble together” is an American English phrasal verb that means to produce something quickly or roughly, often without great care or effort. For example, you might say “The group had cobbled together a few decent songs”. The phrase can also be used with disapproval, such as “The last half an hour was unconvincing and looked as if it had been hastily cobbled together just to get to the finishing line”.

I think this applies to my cooking fairly well – I really need to pay attention to more details during cooking, in terms of ingredients, prep, and actual cook, and do better on that aspect.

But sometimes I got to do what I got to do: I mean work sometimes. For example, last Tuesday evening I had to do that. This is something we should be able to improve when I reflect on it. The issue was: the database scripts for deployment were not version controlled all the way, and there were some manual steps involved. And the DBA ran an earlier version of the DB scripts. My problem on the spot is: I need to figure out the changes since the particular script DBA just ran. And came up the scripts so that the end results would be like we ran the latest scripts 🙁

Cobble together is suitable for that situation. And I was able to quickly realized what’s needed, and came up with the “Update” scripts in a few minutes. And have the DBA ran that. Followed by validation by the teammates.

In a more modern database world though, ideally DDLs and DMLs would be automated, or in other words, the versioning of Database will be managed by a framework, such as FlyAway, or LiquiBase. I recall in my previous job at Ascension, we used the latter. This (automated) way is usually better than the “cobbled together” (manual) way. It doesn’t mean the frameworks don’t have any issues.