A shot across the bow

在這篇WSJ講為什麼人們不再喜歡Merlot,它認為電影Sideways對Merlot的負評有很大的影響。

這一句來自酒商Duckhorn講的話: “We took it as a shot across the bow and stepped up our efforts.”

it是指Sideways對Merlot的負評,

a shot across the bow: a statement or gesture intended to frighten someone into changing their course of action.

 263 total views,  2 views today

No-code platforms

I have always been skeptical of using the low-code or no-code platforms. In the past two weeks, two use cases came up.

AppSheet

First, our company needs a time tracking tool. Even though my company plans to use Clockify for time tracking, I thought I’d try one of the no-code platform: AppSheet.

pro: I was able to develop and deploy a basic time tracking app on my phone in about 4 hours. It reads an Excel stored on my company’s network and build a starter app in a few minutes: one view to show all the time entries in the Excel, one view to view the details of an entry and another view to edit/add an entry. I spent the rest of the few hours to customize the app by changing settings of views or data properties(enum, editable, etc.)

con: I would like to make it a bit fancier: when user starts working on a project, she hits the start button to time the project. When she is done, she simply hits the stop button. This would be straightforward to do on any mobile app development framework(Ionic, Java/Android, Objective-C/iPhone), I found it very difficult to do in AppSheet.

PowerApps

The driver to try Microsoft’s Power Apps is to view DevOps work items on my mobile phone. What I want it to do is let me select a DevOps query to run, displays the work items and detail of a selected work item. I was able to complete majority of the development on a volleyball tournament over the President Day’s weekends.

pro: PowerApps is more flexible. You write code like Visual Basic. You can add a canvas. Add controls to the canvas. Modify a control’s properties to change its user interface. Or bind an action(e.g. OnSelect) to a function call(e.g. getting data or navigating to a different canvas), like what you do in Excel(e.g. sum() or average())

con: the action only allows one function call. You can’t write more than one line. It is by design so that PowerApps developer don’t need to write(and debug) a lot of code.

Conclusion

By no means, this is a thorough review of both platforms. But one take away is, like all platforms, they offer convenience by taking away some complexity of coding. However, this also takes away flexibility and power of coding. IMO, PowerApps strikes good balance of convenience and flexibility. They are great to develop simple applications.

I still don’t believe no-code or low-code should be used for enterprise application development, just because of the complexity and massive size of work. I don’t see how tens or hundreds of developers can develop the software collaboratively without overwriting each other’s work. Debugging is also problematic.

 274 total views,  1 views today

a greased pig 中文

在這篇BusinessInsider的文章中講到,2023年的股市有可能不會軟著陸(soft landing), 也不會硬著陸(hard landing), 可能是第三種可能, 不著陸: “In a no-landing scenario, we’re chasing inflation, and it’s a greased pig.”

這greased pig是什麼意思呢?

greased pig是指它很會跑,抓不到。該文是指通膨像是一隻greased pig, 聯準會無法抓到。

 307 total views,  1 views today

do not use the other 24 modes

This is the best story about MVP(Minimum Viable Product). A good story for all the product managers or whoever manages scope of product releases.

If you don’t have time, watch the video around 6:30.

In short, Nvidia was running out of money. The first(?) chip RIVA 128 supports only 8 modes of the 32 blend modes specified in DirectX. Nvidia went out to all the game developers to convince them to not use the other 24 modes. “8 modes is all you need”. “if you want to make an explosion, you want to make transparent, could you do it this way? use that mode. just don’t use the other 24 modes.”

 273 total views,  1 views today

要說服對方時,從對方的角度說服對方

第一次了解這個概念,大概是2005年時,從卡內基的書”How to win friends and influence people”,學到的,但從來也沒用過,大概我就是個垃圾,什麼事都從我的角度看。第一次用到時,是在說服一個軟體工程師,Rajeev.

那天是禮拜五,Rajeev當時修了一段程式碼, 那一段程式碼會跑很久,我跟他說他應該在該程式出錯時,寄個email給自己,因為這是程式設計的最佳实践(best practices),這最佳實踐我已經說很久,他就是不願意聽,包括這一次。

快下班時,我看到他坐在他的坐位上,我問他在幹啥,他說他在看著(babysit)他的程式,出錯時,他可以馬上修。

我:你應該加上一段程出錯時,程式通知你,這樣,你可以回家吃晚飯,看電視,只有程式出錯時,你才需要坐在電腦前修程式。

這一次,真的說服他了。

其他的例子:

  1. 要工程師寫系統操作手冊. 工程師都不喜歡寫文件,我現在說你應該寫下來,因為當你休假時,假如只有你知道如何操作,我只好打電話給你,最糟的情況下,我需要你取消你的休假。

2. 我有個醫療檢查,診所要我出20%的費用,當法規上,他們應該跟保險公司申請100%給付,檢查出來後,在某條件下,我才需要出20%,保險公司出80%. 我準備說,你們診所無論如何,都會拿到一樣的錢,不同的是保險公司出 100%,或保險公司出80%, 我出去20%。不會應為你不願意先申請100%給付,而失去我這筆生意吧,因為我準備換診所,假如堅持要我出20%.

 368 total views,  1 views today