Categories
Software development

Storytelling 讲好故事,让别人去说吧

Reading Time: 2 minutes

Storytelling is a very important skill to have, especially in a country like the USA, and at the this say of age. I think it’s important to have this skill over the history too. For example, in this article, we can see storytelling helped human beings survive, and I quote below:

Since our ancestors evolved to live in groups, they likely used storytelling to gather and communicate information about their environments and increasingly complex social relationships.

Stories served as a way to make sense of the world and its benefits and dangers.

Below are some of the scenarios in which we need to do storytelling. I orgionally wrote them in Chinese: and I will put the English translation at the end.

我能想到我们必须会讲故事,讲好故事的场合,可能并不完全,欢迎补充。

竞选:从学生会到美国大选,讲什么故事,怎么讲她们才会投我的票

销售人员推销各种各样有用没用的商品和服务,Disney 和其它电影公司,
教练或猎头找明星队员,特别厉害的管理人员,工程师,其他专业人员,
城市要说服企业留下来或搬过来上市公司要给华尔街和投资人讲故事(巴菲特也不能避免)
中层:今天老板想听什么故事
小布拉子:今天老板想听我的故事做到哪里了(status of JIRA story)

找工作,面试:behavior questions, e.g., tell me a situation in which you overcome/play a leadership role/deal with a difficult coworker etc. 我的经验是我尽量show and tell, and I prep some war stories in advance (I had to do something I am good at instead of do all the leetcode 刷题)

求爱/求婚,高科技巨无霸要讲很多故事

看看AI 或Gen AI 能取代上面的那一项😂。答案:none, null 。不过她可以帮助我们讲故事。
父母:小孩已经听厌了我的那些故事,怎么办才能让他去好好练琴,或好好做题,而不是玩游戏和看TikTok 😂
记者/老师:今天讲什么故事,怎么讲才会让观众学生感到有兴趣听下去,要避免她们换频道,看其它内容和平台

牧师布道:

网红:今天讲什么故事,怎么讲才能赚到更多流量,有了流量就会有各种生财之道

历史是会讲故事的人书写的 

English translation of the Chinese content above

I can think of some occasions where we must be able to tell stories and tell them well. These may not be complete. Please feel free to add to them.

Election campaign: from student union to US election, what story to tell and how to tell it so that they will vote for me

Sales staff promote all kinds of useful and useless goods and services, Disney and other film companies,
Coaches or headhunters look for star players, especially powerful managers, engineers, and other professionals,
Cities want to convince companies to stay or move here, and listed companies have to tell stories to Wall Street and investors (Buffett can’t avoid it)
Middle-level: What story does the boss want to hear today
Little Bullazi: Today the boss wants to hear where my story is (status of JIRA story)

Job hunting, interview: behavior questions, e.g., tell me a situation in which you overcome/play a leadership role/deal with a difficult coworker etc. My experience is that I try to show and tell, and I prep some war stories in advance (I had to do something I am good at instead of doing all the leetcode brush questions)

Courting/proposing, high-tech giants have to tell a lot of stories

See which of the above items can be replaced by AI or Gen AI 😂. Answer: none, null. But she can help us tell stories.
Parents: My child is tired of hearing my stories. What can I do to get him to practice piano or do homework instead of playing games and watching TikTok 😂
Reporter/Teacher: What story should I tell today and how should I tell it to make the audience and students interested in listening to it, so as to avoid them switching channels and watching other content and platforms

Pastor’s sermon:

Internet celebrity: What story should I tell today and how should I tell it to earn more traffic? With traffic, there will be various ways to make money

History is written by storytellers 

Categories
gadgets Software development Windows

High CPU processes on Windows machine

Reading Time: < 1 minute

I received a new HP EliteBook 645 G10 for work recently. Note I wrote about Desktops, Laptops And Virtual Desktop Infrastructure VDI For Work 我在美国上班20多年用过的那些电脑 recently too.

I recall with my 1st new work laptop, an IBM ThinkPad, as I was working from home in 2008, I would be somewhat concerned if the laptop fans goes off nonstop.

I didn’t mention it in the above article because it arrived and I started to using it fairly recently – in the last one or two months or so.

High CPU processed I observed – may not be a complete list – will add as I saw them

AntimalWare Service Executable

Microsoft console based script host

Realtek hd audio universal service (more from Microsoft forum: High CPU usage of Windows Audio & Realtek HD Audio Universal Service)

The symptom of High CPU is usually fans running non-stop

Categories
Investing Software development

Avoid apparel and shoe brands and stocks, some thoughts on Apple stock

Reading Time: 2 minutes

Some random thoughts I had on consumer products companies stocks: I think it’s probably better to bet on $V and $MA instead of $LULU, $NKE, $DECK, $CROX, $SBUX and last but not least: $ONON which I have a small long position, thinking selling it around summer Olympics. I just sold few $LULU shares and I did a little comparison between Lulu and Alo/Vuori.

I recall in year 2006 when both CROX and MA were new IPO stocks, both were at between $20 and $40. Both did well in last 18 years. Also note CROX is probably the best performing shoes stock from year 2006.

Both Crocs and Mastercard IPO’ed on 2006, this is their stock performance since then.

Apparel and Shoes business are very hard

Many apparel and footwear companies stocks came and gone: and yours truly happened to traded this one called Heelys. Fun facts: Heelys IPO’ed the same day as $ALGT All Giant Travel the discount airline (quite unique business model). I actually bought ALGT that day, and I quickly sold it unfortunately. ALGT did much better than HLYS (which is the Heelys ticker symbol, it was a fad and I saw the Jurney’s footwear stores still sell them?). Other apparel makers that are in decline in recent years and yours truly managed to trade it for a loss: VF Corp $VFC.

That also on the other hand, shows Nike did a tremendous job to stay relevant. It got fierce competition in the running shoes and sneaker side from upstart such as HOKA (Deckers Outdoor $DECK), and ON Clouds ($ONON). We all saw Under Armour came and gone in terms of its threat to Nike. I already touched slightly on the potential threat from Alo and Vuori to Lululemon.

Apple Stock $AAPL

I rung the register on $AAPL today: one share at a time. I hope it can test $200 on Monday w/ WWDC, but hope is not a strategy. || I fully understand the “one more dance or one more drink” mentality because I have been there many times – and got caught without chair 🪑 when the music suddenly stops.

Q: Why Apple stock went up and down in the last 12 months?

A: You ask me, I ask who.

Seriously good question.

I guess things $AAPL bears 🐻 don’t like: its near zero revenue (sales) growth in last few years, people holding on their iPhones longer, increasing competition in the CHN market, mostly using financial engineering (stock buy back) to boost its stock price, failed car project and lagging behind in Gen AI…

PS, 06-07-2024, I just saw Mark Gurman of Bloomberg published some scoop on the upcoming WWDC 

New WWDC details:

– Apple Intelligence

– Emoji Tapbacks and scheduled iMessages

– Multipage, customizable Control Center

– Old school wallpaper packs on iOS 18 and macOS 15

– New Health app + AirPods hearing aid details

– Reminders in Calendar

On AI

Apple’s AI initiative will be opt in, a beta and require an iPhone 15 Pro or M1 device or newer. It’s going to be called Apple Intelligence.

My take on Apple intelligence- Apple AI

Recall probably in year 2015, at about 2 pm on Saturday afternoons, as I hop into the car, my iPhone would usually pop up and show the time it takes from the our condo to the Creve Coeur ice rink (under 10 minutes). At that time S was taking a private skating lesson. Apple probably got this Saturday afternoon routine of mine (or my daughter’s skating lesson) either from calendar, or past Apple map navigations. Then it just serves as a friendly reminder just like an assistant tells the boss. Again this is “non invasive, I am happy with it”.

I expect on Monday Apple will build on what they have now, and adding some Gen AI capability from a partner (Google or Open AI?).

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
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
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.

Categories
Software development

More thoughts on Apple AntiTrust lawsuit

Reading Time: 3 minutes

(08-05-2024) Noticed judge ruled in a similar case, the Google search engine/Apple iPhone case, and Google lost this 1st round. Think they will likely appeal. But Tech Industry Braces for Fallout From Google Antitrust Verdict. This potentially has some impact on Apple.

Also, today I noticed the Google chat app on iPhone is called just “Chat” app. I guess that’s because Apple doesn’t have such an app: similar to slack or something like that.

(04-11-2024) Big tech in this new regulatory environment in general, Andy Jassy (CEO of Amazon) was talking to CNBC’s Andrew Ross Sorkin this morning on Squawk Box. I think Andy has a good point.

Andy Jassy (CEO of Amazon) was talking to CNBC’s Andrew Ross Sorkin this morning on Squawk Box: on failed iRobot acquisition

(Update 04-06-2024) Yesterday it was somewhat educational to me in terms of the Apple ecosystem. I need to project screen along with audio/video to the projector or the system in the school gym. Our school district is all Apple in terms of computers etc. The way to do it is via “screen mirror” on my MacBook, but the WiFi I am on has some limitations: basically it blocks YouTube. But I want to play something on YouTube for the passport night. One workaround I came up with: I used my phone (iPhone 15) as hot spot, play the YouTube video once (now it’s the memory and I can play it even without Internet). Then I connect to the school public WiFi for the screen mirror purpose.

But there are some more issues: for example, another person texted me the YouTube links via text message, my iMessage App on MacBook could not receive it. On the other hand, a teacher texted me the movie clips via iMessage (using her iPhone), it worked pretty much out of the box.

Btw, for the “YouTube blocking issue”, I actually tried to use a VPN, but as soon as I connect to VPN, the screen mirror stops working. Also, it seems even on VPN, the YouTube is still blocked?

(Original) Some people may know I am an Apple fan, and to be honest, I think I am. And I am not a big fan of the DOJ’s anti-trust lawsuit against Apple. Full disclosure: I own a few shares of $AAPL too.

I talked about the anti-trust for a bit here. And I was a bit surprise to hear Walter Isaacson’s view on this – YT Video Walter Isaacson: The law says you can’t use market dominance to then dominate an adjacent field

Walter’s Argument is interesting because he mentioned both the “dual mandate” of DOJ/FTC regarding the anti-trust laws: protect both competition and the customers. In terms of competition, he said, a company that uses its dominant position to get dominance in tangential areas, that company may have violated the law.

For me personally, I started to using Apple Pay since I got the Apple Watch – after seeing coworker using it at the MC Daily Grind Cafe. I used Apple Pay much less frequently via iPhone (before I had the Apple Watch). I bought my 1st Apple Watch in year 2017.

Consumer addiction

A side note of Apple’s domination in the smart phone market, along with the general popularity and Android and iOS smartphones in the world, and in our daily lives, may have pushed the pendulum too far in terms of addiction to the phone or tablets for many people. I am not just talking about the teens doing TikTok, or adults doing FB or Instagram. I am talking about both legit use such as the Panera Bread app (refer to this one) and also binge watching Netflix (or in the case of my wife, Korean soap opera on her iPad, at the expense of sleep sometimes). Jon Hadit, the NYU professor has written quite extensively on the topic too – First He Came for Cancel Culture. Now He Wants to Cancel Smartphones.

Visa Mastercard anti-trust lawsuit

Interestingly, Jay Clayton (former SEC chair under TFG) has a different view: When governments select what a market structure ought to look like, innovation dies: I was a bit surprised to hear the amount of the fine, $30 billion, but on the grand scheme of the things, it’s still something they can bear (the industry, I mean, both them and the banks).

Categories
Software development

Panera bread system down

Reading Time: 5 minutes
Panera App down screenshot

(Update 11-12-2025) Came across this news about the class action lawsuit against Panera. The subject is a bit misleading, but you have evidence you can submit your claim.

(Update 04-05-2024 BleepingComputer) Panera Bread week-long IT outage caused by ransomware attack

(Update 03-27-2024) Both the app and the website are back, fully functional as of now (this morning). Btw, I cleaned up a few CC in my account (from 6 to 3); also enabled 2 factor authentication for MyPanera account (via SMS, not perfect, but better than nothing). Honestly I still don’t know what happened to Panera’s system. One thing impressed me a bit is their mobile app works out of the box – it’s logged in this morning when I opened the app. I used to work on an app when I was working for the Mastercard, and that feature alone (make sure the user logged in if he/she was logged in before the app update) is a difficult task to do.

(Update 03-26-24) It looks like the website is coming back, but I cannot log in using my old credential either. Forgot password via email or #MyPanera number don’t work either 🙁 Thanks to the Twitter user who reported the website coming back. || A small benefit of this thing is it made me to look up the good old MyPanera number. Another side benefit is for me to rethink the practice of saving credit cards under my Panera account (going forward will probably only do Apple Pay). Also refer to our friend’s new article at SVDaily.

https://twitter.com/JTolo54/status/1772653099720622539

Yesterday morning (3/24), I went to the the new U City Panera Bread as usual, and noticed system is down nationwide: the mobile app and the kiosk didn’t work. But the register still works. Note the new U City is an all digital store and it’s almost full outage – the manager said they have a computer for employee order and I assume he can ring a bit regular customer sales as needed (maybe it’s the 3rd party app such as Uber Eats order instead?). WiFi is down too so I am using iPhone as hotspot. At this time it seems 3rd party apps (e.g., Uber Eats) still work.

I posted it on Twitter and also posted a survey yesterday evening.

This sadly could have more impact to Panera compared to say, companies such as Garmin. Some of my readers may know I am a loyal Panera bread customer, and I regularly went to the Old Olive store (sometimes walk) since year 2005; sometimes I work there using laptop (remote work). So it’s almost 20 years since I regularly go there. I also talked about them quite extensively on my blog.

(In Chinese) 原来Panera网站炸了. Note Panera is popular in Chinese American customers too.

In the News

This incident was not widely reported in the news, due to various reasons: it happened on a Saturday; and Panera is not McDonald’s or Starbucks.

Panera Bread digital channels suffer national outage (restaurantbusinessonline, 03/25/24): quote – But it appeared third-party delivery orders were still coming in to units.

Panera Bread Hit By Massive National Outage (SVDaily, 03/24/24, also the Reddit thread around the outage). I noticed the discussion around Disaster Recovery, and business continuity plan are valid. Back in the days at Mastercard we do those once every year, and it was fairly rigorous. But I don’t see many other organizations do that kind of exercise.

Panera Bread Hit by Nationwide Outage: Cyberattack Rumors Swirl as Digital Ordering Crashes (the Cyber Express).

Note the issue surfaced on Saturday 03/23/24.

Previous Security Issue

Btw, it’s the 1st time Panera Bread website/app/kiosk underwent an incident like this. A few years ago, I do recall Panera Bread had a security related issue, and was remediated quickly. Below are some articles around the issue.

No, Panera Bread Doesn’t Take Security Seriously;

Panera Bread’s half-baked security;

Panerabread.com Leaks Millions of Customer Records

Btw, some reddit discussions on KrebsOnSecurity (Brian Krebs: Wikipedia); again Reddit: What do you think about Brian Krebs as security professional?

Digital Transformation

Panera Bread, here in the St. Louis area they are called St. Louis Bread co., or breadCo as some people call it, is early in its digital transformation effort. The in store kiosks and the online ordering (web and mobile app). Personally I liked the convenience of it, although I do miss the “first name basis” at the counter when I started going to Bread Co almost 20 years ago.

Ownership Change

The company was public, until it was took private in year 2017 (Wikipedia, scroll down a bit, you will notice the 03/24 Computer System issue as well)

Sipper Club (loyalty program) (and in year 2011, I interviewed there once for a dev position related to that, no offer)

I like that too. I recall it was initially called “Coffee+” or something like that, and it was limited free coffee refill. Later it was expanded to soda and other drinks. Note there were controversy around that too. I mean the charged lemonade. Initially I didn’t pay close attention to the caffeine content, until the news break. My wife was not happy that I gave our daughters that drink once or twice.

Pandemic (during pandemic in year 2020?, I interviewed there again for a software architect position, no offer)

I recall in the early days of pandemic, probably in May 2020, we cannot go in the store. The first time I ordered and picked up the food there, when I saw the young girl (masked) brought out the food, I was almost in tears.

Menu Revamp

They are in the process of big revamp of the menu items in the coming April. Then this happened. I still think it’s unlikely menu revamp will cause this. Menu revamp is nothing new at Panera and at other restaurants, Panera has done many times during my 20 years observations with them. I recall once they tried pizza: it didn’t work out very well (this was before the most recent pizza effort). Once they removed the famous Frontega Chicken sandwich, and some fans revolted, and they brought it back. I am a fan of Frontega, btw.

Key People

Ronald M. Shaich: he is the founder of Panera, and I believe he engineered Panera’s buying St. Louis Bread Co., rebranding, and digital transformation and so on. I saw him in person once at the SunsetHills Panera. It seems he is friendly with the rank and file Panera IT people (I saw a guy who interviewed me in year 2011, quite a few years after that).

I also liked Niren Chaudhary, although his tenure is not as long as Ron, once he replied me to my comment in LinkedIn. It was before Pandemic, I commented on the closing of the store in ForestPark way at Central West End, near BJC/Wash U medical school campus.

CIOs, from LinkedIn (former; current/interim).

Panera Bread on LinkedIn