🌘 維護 Android 應用程式的辛勞
➤ Android 開發的隱形成本
https://ashishb.net/programming/maintaining-android-app/
本文作者分享了作為獨立 Android 開發者,維護 Google Play 商店上 MusicSync 應用程式五年來的經驗。作者指出,相較於後端伺服器專案,Android 應用程式的維護工作量更大,問題也更複雜。這些問題包括 Kotlin 與 Java 的相容性、Google 函式庫的頻繁且具破壞性的更新、支援舊版 Android 系統的考量、UI 設計規範的不穩定性、第三方函式庫的棄用、版本管理的混亂以及被迫升級等。作者認為這些問題是 Google Play 商店應用程式數量下降的原因之一。
+ 真是太有共鳴了!我也有開發 Android 應用程式的經驗,每次 Google 更新都讓我頭痛不已。
+ 獨立開發者真的不容易,維護一個 App 需要考慮的事情太多了。Google 應該更顧及開發者的感受。
#Android開發 #應用程式維護 #技術挑戰
Maintaining an Android app is a lot of work

Lessons on maintaining a hobby Android app

ashishb.net
🌕 邁向最萌神經網路體:打造極簡嵌入式姿態估算模型
➤ 當神經網路遇上16kB記憶體:從理論到爆雷的嵌入式AI實戰錄
https://kevinlynagh.com/towards-the-cutest-neural-network/
工程師Kevin嘗試在資源受限的微控制器實現純整數運算神經網路,卻發現主流框架過於複雜。經反覆實驗後,採用TensorFlow量化訓練搭配microflow-rs推理的方案,但仍須解決浮點運算殘留問題。
+ 「為何不考慮TinyML或Arm CMSIS-NN方案?這些專門為MCU優化的框架或許能避開浮點陷阱?」
+ 「完全共感!現代AI框架就像裝了火箭引擎的購物推車,我們要的只是腳踏車鏈條等級的解決方案啊...」
##嵌入式系統 #神經網路應用 #技術挑戰
Towards the cutest neural network

🌘 在 486 上安裝 AIX PS/2 v1.3
➤ 懷舊與挑戰:在古董電腦上重現 AIX 的旅程
https://hardwarehacks.org/blog/installing_aix_ps2_13_on_a_486/
作者在 2022 年八月底感染 COVID-19 後,決定重溫舊夢,嘗試在自己組裝的 486 電腦上安裝 AIX 1.3 作業系統。這個 486 雖然經過多次升級,已不再是原生的 486,但仍承載著作者最初接觸電腦的美好回憶。安裝過程充滿挑戰,包括磁碟片讀取問題、顯示卡兼容性問題,以及缺少必要的系統工具等,作者透過不斷嘗試、查閱資料和尋求協助,逐步克服困難,並最終取得了一些進展。
+ 這篇文章讓我想起以前自己組電腦的時光,雖然現在電腦更新換代很快,但這種DIY的精神和挑戰自我的樂趣是永遠不會變的。
+ 作者的毅力令人佩服,能夠在這麼老的硬體上安裝如此古老的作業系統,確實需要大量的耐心和技術。
#懷舊電腦 #作業系統 #技術挑戰
Installing AIX PS/2 v1.3 on a 486 | hardwarehacks.org

🌖 「普羅斯佩羅挑戰」
➤ 探索不同優化方式,開展普羅斯佩羅挑戰,並將實驗結果提交給作者。
https://www.mattkeeter.com/projects/prospero/
普羅斯佩羅挑戰是一個測試以最快速度呈現數學圖像的挑戰。這包括使用簡單的Python渲染器將數學表達式轉換為黑白像素圖像。文章提出了針對此挑戰進行優化的各種可能方法以及提交實驗的方式。
+ 真是一個激動人心的挑戰,讓人想要嘗試看看!
+ 實驗和創新的空間真的很大,期待看到更多關於普羅斯佩羅挑戰的成果。
#技術挑戰
The Prospero Challenge

Evaluate a 7866-clause math expression for fame and glory

🌘 從零到六萬八千九百
➤ 獨立開發者如何成功應對高流量挑戰
https://www.zigpoll.com/blog/zero-to-sixty
這篇文章描述了一位獨立開發者如何在推特熱門樂隊的推文後,應對數十萬用戶的流量激增,並成功讓其產品承受高達11萬多名並發用戶的挑戰。文章講述了作者從2016年起,獨自創建並維護產品的經歷,特別是在COVID-19期間,他如何迅速適應市場需求,為音樂行業提供數位音樂活動平臺。最終,面對來自大型音樂公司的高用戶要求,作者經過細緻準備,成功支撐住了巨大的流量。
+ "這真是驚人的成功故事,顯示了獨立開發者在面對挑戰時的強大能力。"
+ "作者的經驗非常鼓舞人心,尤其是如何處理大流量和音樂行業的複雜需求。"
#技術挑戰
Zero To Sixty... Thousand Eight Hundred And Ninty

A story about scaling my one-person music project..

Zigpoll
🌗 如何在Vercel帳單上節省13.27美元
➤ 探索新技術堆棧的成本效益
https://dgerrells.com/blog/how-to-save-13-27-on-your-saas-bill
作者使用Vercel的分析產品時,因為高流量頁面使用大型PNG圖片,導致超出免費流出數據配額,需要支付費用。他決定將最佔用資源的兩個圖片轉換為JPEG格式,以節省成本。雖然Vercel的分析功能易於集成並提供基本的流量統計,但需要注意高級分析層會增加成本。最後,他探索使用全新的Squeeh堆棧來自行構建分析API,使用SQLite作為數據庫引擎,以降低成本並挑戰技術能力。
+ 真實世界中的成本管理與技術選擇,非常值得參考。
+ 對於想要探索新技術挑戰的開發者來說,這篇文章提供了寶貴的經驗分享。
#網站分析 #成本節省 #技術挑戰
how to save $13.27 on your vercel bill

Vercel has a decent entry level analytics product which I cannot afford so I am going to build my own.

David Gerrells
🌖 在 Go 裡的十億行挑戰:從 1 分 45 秒到 4 秒的九種解法
➤ 起點、解法、結果表、最終評論
https://benhoyt.com/writings/go-1brc/
這篇文章描述了作者在 Go 語言中撰寫的九種解決方案,每一個比前一個更快,從處理十億行資料花費的 1 分 45 秒,提升到約 4 秒。作者針對 Go 的專案進行了優化,並藉由 Go 的分析工具來找出程式執行中的時間瓶頸。最快的 Java 解決方案在作者的電腦上處理時間不到一秒。文章列出了各解決方案使用的方法,由最慢到最快依序排列。
+ 這篇文章深入挖掘了在處理大量資料時的程式效能優化,不僅介紹了各種解決方案,也展示了作者如何透過改良程式碼達到更高效率。
+ 這篇文章對於處理龐大資料及優化效能有很深入的討論,是對程式設計師們極具啟發性的實例分析。
#技術挑戰
The One Billion Row Challenge in Go: from 1m45s to 4s in nine solutions

How I solved the One Billion Row Challenge (1BRC) in Go nine times, from a simple unoptimised version that takes 1 minute 45 seconds, to an optimised and parallelised version that takes 4 seconds.

🌘 foojay - 從1BRC挑戰中學到的12堂課
➤ 如何在Java中快速處理10億行文本文件?
https://foojay.io/today/12-lessons-learned-from-doing-the-one-billion-row-challenge/
在2024年1月,許多Java開發人員嘗試解決一個挑戰:在Java中處理10億行文本文件的速度有多快?這個挑戰是讀取包含"站名;溫度"數據的10億行CSV文件,並盡快計算每個氣象站的最小/平均/最大溫度。
+ 讀取此文後感覺對Java中處理大量數據的挑戰有更深入的瞭解。
+ 這篇文章指出了許多優化和技術面對的挑戰,很有啟發性。
#技術挑戰
foojay – 12 Lessons Learned From Doing The 1BRC Challenge

How fast can you process a 1 billion rows text file in Java? That's the challenge that many Java developers tried to solve in January 2024.

foojay
🌗 Java 在兩秒之內可以處理一億行文件的挑戰展示了它的處理能力
➤ Java "一億行挑戰" 挑戰參與者處理一億行數據的速度
https://www.infoq.com/news/2024/01/1brc-fast-java-processing/
一億行挑戰展示Java處理一億行文件的能力。這項挑戰旨在尋找處理一億行數據的最快Java代碼,參與者需遵循挑戰規則,不得使用外部庫或數據存儲。參與者探索高性能編程技術、新API和不同Java發行版的能力。
+ 太厲害了!這項挑戰展示了Java的龐大處理能力。
+ 想知道最終誰能在這項挑戰中脫穎而出,效率最高。
#技術挑戰
The One Billion Row Challenge Shows That Java Can Process a One Billion Rows File in Two Seconds

On the first day of 2024, Gunnar Morling, Senior Staff Software Engineer at Decodable, launched The One Billion Row Challenge (1BRC) to the Java Community. This ongoing challenge will run until the end of January and aims to find Java code that processes one billion rows in the fastest time. Until now, the podium contained algorithms that finished the processing in under 2.5 seconds.

InfoQ
🌖 軟體工程師對機器學習仍然太困難
➤ 機器學習的發展仍面臨著技術挑戰
https://www.nyckel.com/blog/machine-learning-difficulties/
機器學習對於一般開發者來說依然難以接近,本文討論了造成這種情況的一些原因。
+ 這篇文章清楚地指出了機器學習開發的困難之處,也讓人對這個領域的挑戰和未來發展充滿期待。
+ 機器學習的應用前景一直讓人感到興奮,但文章也提到了實際應用所面臨的現實挑戰,讓人更加理解這個領域的複雜性。
#機器學習 #軟體工程師 #技術挑戰
Machine Learning is Still Too Hard for Software Engineers | Nyckel

Machine Learning has made huge strides in the last few decades, but it remains largely inaccessible to the average developer. This post examines some of the reasons why.

Nyckel