Java紫微斗數排盤open source library

其實我一早就想把Fortel的core部份open source的了,不過現在才比較有空整理一下project,寫一點test case及doc。 Github: https://github.com/airicyu/Fortel   Fortel Java紫微斗數排盤Library Author: Eric Yu Samples 排盤 排盤:一九五二年十二月十五日早子時天盤,男性 Config destinyConfig = new Config(ConfigType.SKY, Sex.M, 1952, 12, 15, false, GroundTime.getByName(“早子”).get()); Destiny destiny = new Destiny(destinyConfig); […]

[Nodejs] FB Page post comment/reply event engine

岩岩寫左隻FB Page post comment/reply event engine既Nodejs module。 個module目的係幫FB page owner去mon住個FB page係咪有新comment,然後generate event & 俾個位d人自己去寫callback logic。 實際做法就係佢背底會行個schedule job去call FB graph API黎check post既new comments。 Blog: http://blog.airic-yu.com/2286/fb-page-comment-event Github page: https://github.com/airicyu/fb-page-comment-event NPM: https://www.npmjs.com/package/fb-page-comment-event

關於blockchain的少少個人理解與想法

講少少個人理解,blockchain大概是一種在處理asset擁有及轉移的應用技術。 對於這種應用,傳統社會的做法牽涉大量trust與資訊交換機制與成本。而因為trust issue, 所以形態上是很多parties各自的centralized trust機制,所以加大了交易成本。 blockchain的做法,是去中心化的trust(rathet than only data storage層面)機制。 藉着公有公開驗證的做法,所有資產轉移都是自帶驗證。 所以大大解決了trust與驗證的成本。(這是blockchain的最大價值) 但當然,技術還技術上的價值,應用上仍然可以是空殼廢紙,所以把資產本質由實體($)轉為虛擬貨幣的應用,用家進入市場有很大風險。 另外,在應用層面,blockchain一定是資產轉移流水帳的use case。若否,則blockchain技術不會帶來太大價值。 另外,blockchain需要公開帳目,我沒仔細研究過,但我懷疑仍有可能由transaction之間去trace back到account持有者身份。 例如,我是e store, 我賣了一件貨給某人,進行了某bitcoin交易,那應該有一條transaction是若干bit coin由某人銀包轉移到我銀包。那我是否能由“某人銀包”去識別出其他關於某人的bitcoin交易?若我掌握大量銀包識別資訊,那會否讓我能知道大眾的帳目資訊? (我不熟這範疇,純粹ff 想想而已)

Airic API Gateway

Just for fun. 最近斷斷續續前後用左幾個星期左右,自己用NodeJS寫左個REST API Gateway。   簡單講隻REST API Gateway做d乜就是: 有個API config server,可以o係上面register隻app+import個swagger, 之後就可以create client同reg API key, 之後就可以用d API key經gateway去call果d REST API。   隻Gateway帶黎既benefits係: – 隔左一層as protection layer, – 有得落Quota […]

Software developer的價值在於什麼

作為一個Software developer,我有時會想Software developer的價值在於什麼? 寫code﹑productivity? 我當你做同一件feature,你用3個月時間去做。 而假設同一件事,一個普通大陸developer,是要用5個月時間去做。 那麼我假設,用3個普通大陸developer,可能3個月時間都做得完。 其實從codiing﹑productivity角度,你的價值就只是3個普通大陸developer。 一個developer人工幾多?3個普通大陸developer人工幾多? 而且,寫code層面,你從市場上很容易找到人去replace。 所以我常常跟朋友說,technical野不值錢,寫code不值錢。 你計計自己寫code的productivity,in terms of 幾多個普通大陸productivity,就會發覺自己不值錢。 (當然,如果你做的是冷門的programming language skillset,市場供求問題,你價值會高一點。但那也有drawback,在此從略。) 所以我覺得,作為一個developer, 最重要的是找到/去develop一些自己的價值, which is coding & productivity以外的價值, 而那不可能被簡單地用3個普通大陸developer去replace你。 責任﹑視野﹑innovation﹑執行力﹑溝通能力…這些東西都是比起coding & productivity重要得多。 對於freshgrad, […]

從Framework user角度去如何做Framework

如果我是product team,我的想法就是以做好我的product為我的最優先piority。 Framework什麼﹑其他application什麼,他們應該是想想如何幫助到我的pain point,而不是為我製造更大的effort。 而我也只concern對我的product角度有value的事才是真正的有value。 我是面向market﹑customer﹑business﹑user﹑…那些才是最重要的事。 反過來,我自己做Framework人, 我會同情地了解著product team角度地去做返我自己(Framework人)。 我往往是從story角度開始去思考/validate問題,technical問題都只是為要實現story才出現的。 當然,technical不可行也就說不下去。 但story層面想不通的話,technical問題也就不太需要想。 在technical之前的問題是,關於story,我們說的是what? who? when? why? how? ————————————— 做Framework人其實有時有少少人格分裂, 因為要有頂帽是用framwork的一般product角度, 有頂帽是站在公司最重要的very important application角度, 有頂帽是一般developer user角度(product developer本身不一定與product的角度align的), 有頂帽是大環境culture角度, 有頂帽是management睇野角度, 有頂帽是technical可行性及延展性角度。 點做一件事,其實背後唔係純粹technical問題, […]

我當初做個紫微斗數網係點做?

最初最初,我同朋友(user)傾開知道佢地每次起盤(operation)都要用一d好唔方便既tool,而且好唔dynamic,所以每次用都要做好多操作﹑print幾十張紙。 睇到個大致有painpoint,之後我再同佢地傾details少少painpoint bottleneck﹑點樣先幫到佢地﹑佢地點睇個問題。 user講到既最表面問題就係: 1) 每次operation要好多人手操作 2) 每次都要print幾十張紙出黎係咁搵野 於是解決件事同時,我親身去學果樣野,化身為一個user,去了解個問題。 in parallel去分析個問題。 其實問題係舊有既tool互動性﹑資訊性太差,所以好多野要offline做,好白痴。 所以solution係要: 1) 增強操作介面互動性,從而將operation搬返去online度做。(呢個point係由user直接講到俾我聽) 2) 增加一d必須既資訊,有得好方便去search﹑filter。(呢個point係我真正企入去了解個問題之後,自己further諗出黎,佢地初頭foresee唔到就同我講係optional) 第2點,我都唔係自己係咁做做做。 我都係做個minimum viable feature出黎,然後去問下d user覺得正唔正,有冇value,有value我就再enhance。 搵錢其實搵唔到,因為我唔想攪。 雖然我其實一早駁好晒paypal,technically收錢系統根本加少少野就整到個member subscription。 但我唔想諗點計錢,亦唔想收錢攪到d同學唔想用,我想對佢地有用多過搵錢,就係咁。 我唔覺得成件事有咩成功。 我只係想講做product係應該類似咁做。 依d野冇人教我亦冇人指點過我,但我覺得依d係common sense。