hero_large.jpg?w=1024&h=468&crop=1

趁著老婆生日的機會, 全家往南邊跑, 除了慶生之外, 也順便去看看傳說中的 Apple Park. 不看不知道一看嚇一跳. Apple Park 真的有夠大, 超級大, 世界無敵大. 不禁感嘆: Apple 真有錢 QQ. 先來一點介紹跟比較圖.

Apple-Campus.png
Apple Park

背景

• Apple 總部大樓,環境優美。由 Steve Jobs 生前規劃, 設計靈感來自於 Jobs 對 Stanford University 的回憶, 充滿了可以激發合作和創新性的氛圍。
• Apple Park 所在地原先是佔地 500 萬平方英尺的柏油混凝土路面, 現已被鬱鬱蔥蔥的植被覆蓋,有超過 9000 株橡樹、紅杉和 37 種 不同類型的果樹,以及其它產自本地的耐旱性樹木。

Read more »

amex-hilton-aspire.png?w=2924

AMEX 是我覺得相當不錯的一家信用卡發行公司, 當申請某張信用卡通過的時候, 有機會可以快速拿到當下申請的信用卡卡號 (Instant Card Number). 根據很多網路上大大提供的資料, 是有可能在 instantly approved 的時候出現這個畫面.

instantly-approved.png
Approved Screen

但本魯從來沒看到過這個畫面 GG. 不過有其他方式可以拿到當下你申請的信用卡卡號. 在 AMEX 官網裡面, 提供了一個 View Card Number 的選項. 如下圖:

Read more »

dynamic_feature.png?w=2924

What’s a DFM?

Speaking of Dynamic Feature Module, we need to mention a little bit about the Android Application Bundle (*.aab) format first.

An Android App Bundle is a new upload format that includes all your app’s compiled code and resources, but defers APK generation and signing to Google Play.

Google Play’s new app serving model, called Dynamic Delivery, then uses your app bundle to generate and serve optimized APKs for each user’s device configuration, so they download only the code and resources they need to run your app. You no longer have to build, sign, and manage multiple APKs to support different devices, and users get smaller, more optimized downloads.

– from Google Developer

Read more »

adbandroid.png?w=2924

How does it work?

Have you ever wondered what the quickest and easiest way to apply a change in your App immediately is? Many people have the first thought on their mind is to use the instant run installation from Android studio. That would be one possible solution.

But what if I ask you, can you do that without any installation and directly apply a new change to your project? You may say, how could that be possible? Yes, it’s possible to adopt changes without any installation. How to do? Let me show you. You can see the demo video below. I use the command-line tool to update the content of a TextView in the App quickly.

Read more »

ffmpeg.png?w=2924

I recently run into a problem that I would like to convert a video clip to a gif file cause I did the screen recording from my laptop, but the file size is too large (> 100MB) to upload to my blog. So, a reasonable solution is probably to shrink the size either by trimming the video or translating the video file to another format; for example, a possible format to upload is a gif file.

Here I would show you how to do it. It’s pretty simple. Thanks, @Alex Dergachev’s gist.

Read more »

說好不再流淚

清醒的時間大概都是處在悲傷的情緒之中哭泣,或者麻木做的無意義的事。

每天的清晨 5:00 跟 下午 5:00 都習慣性地看向手機,因為我知道我媽會跟我 update 她目前用藥的狀況,以及叫我不要擔心。總是說她在醫院很好,讓我在這邊好好工作照顧好一家人。不過從今天開始當我看向手機的時候,沒有任何新進來的訊息,我明白老媽再也不會給我消息了。我剩下的就是跟她的回憶,也沒辦法再抱抱她,說她好矮!

Read more »

自由自在的飛翔吧 …

今天是我這輩子最悲傷的一天,沒有之一!再也不能孝順您了!

我的母親在今天去世了,而我卻無法在她身邊見她最後一面。根據我父親轉述,我母親在沒有任何痛苦的情況下離開人世。透過與我妹妹的視訊,看到了母親最後的容貌,一如以往的沈睡模樣。直到這個時候還是無法想像,她已經永遠的離我們而去了。

Read more »

How Picasso gets the Context without parameter passing

sample.png?w=2924

What’s new?

I’ve updated the Picasso library recently and mainly see if anything new and surprising. The second goal was to see if the latest version has some bug fixes. I didn’t realize that, on the latest version 2.7828, it changes the way to instantiate the Picasso instance by using the With(Context context). Instead, it uses a Get() function to get the instance:

1
2
3
4
5
Picasso.get()
.load(url)
.resize(50, 50)
.centerCrop()
.into(imageView)
Read more »