[好書分享] 馬斯克傳

馬斯克傳:唯一不設限、全公開傳記 作者: 華特.艾薩克森 原文作者: Walter Isaacson 譯者: 吳凱琳 出版社:天下雜誌出版 出版日期:2023/09/27 買書推薦網址: Readmoo: 購買網址 前言: 這是 2024 年第 2 本讀完的書,這是一本相當厚的書籍,但是我覺得裡面包括了近幾年許多的科技大小事情,讀起來一點也不會疲累反而覺得相當的有趣。 內容摘要: 馬斯克唯一不設限、全公開傳記 權威傳記作家艾薩克森重磅力作 兩年深度跟訪,解密全世界最令人好奇,也最具爭議性的創新者—— 是狂人還是造勢天才?是破壞者還是創新者?是混蛋還是英雄? 想要了解最真實的馬斯克,只能透過這本書! ★第一視角觀察馬斯克獨有的英雄模式與惡魔模式 ★深入解讀馬斯克旗下六大事業的商業與創新策略 ★揭露AI、自動駕駛、太空探險三大尖端科技趨勢 「不管你喜歡與否,我們都生活在馬斯克創造的世界裡。」—《時代》 馬斯克引領世界進入電動車時代、開發私人太空探險、嚴肅想像人工智慧,他改變了三大關鍵產業,也改變了我們的未來。喔,他還買下了推特。 他是打破常規的夢想家,沒有開不出的路徑,沒有打不破的框架,沒有丟不掉的包袱。對風險,不但冷靜計算,更熱情擁抱,冒險不設限。當其他企業家在發展世界觀時,馬斯克已在構建他的宇宙觀。 比任何科幻小說都更精采的傳奇人生,他旗下的每一個事業:特斯拉、SpaceX 與星鏈、X(原為推特)、鑽孔公司、Neuralink、xAI,都在改寫歷史。未來,他會如何進一步改變科技世界﹖ 《賈伯斯傳》作者、最能捕捉天才腦中靈光的艾薩克森,跟隨馬斯克長達兩年,跟他一起開會、走訪工廠,採訪馬斯克本人、他的家人、朋友、同事和對手,寫出這部考證詳實、藏著驚人內幕的人生故事。寫作過程中,馬斯克從不掌控內容走向,也不要求在出版前先看過,甚至鼓勵他的對手、前員工跟作者談一談。 艾薩克森精闢描述馬斯克的成功與風暴,也探討了一個問題:驅動馬斯克的惡魔,是否也是創新和進步的推手? 馬斯克的成功無法複製,沒人能像他那樣。但他在成長、創新、創業歷程中的有效方法,值得你一讀。 ‧設計工廠有什麼祕密﹖ ‧特斯拉下一個要顛覆的是什麼﹖ ‧遠大計畫的務實商業目標該怎麼訂﹖ ‧講求硬派精神的馬斯克都怎麼用人﹖ ‧從電玩可以學習到什麼人生道理或商業思維﹖ ‧如何提升學習力、快速形成見解、精通新領域﹖ ‧閱讀如何讓一個人的影響力從地球到太空…… 心得: 整本書包括了幾個 Musk 許多重要的相關里程碑: 小時候父親偏激造就他的獨特個性 Paypal 與 x.com SpaceX 的火箭夢 Tesla 電動車的未來夢 自動駕駛與機器人的特斯拉 Twitter 的愛恨情仇 這些的重要成就都圍繞著他的獨特思維: 「第一性原理」的思考方式是用物理學的角度看待世界的方法,也就是說一層層剝開事物的表象,看到裏面的本質,然後再從本質一層層往上走。 透過第一性原理的方式,馬斯克經常做出許多不可思議的要求,讓他的員工相當的痛苦與難受。並且透過馬斯克經常性的開啟的加速模式,來讓許多本來不可能的專案也逐漸地完成。 舉凡像是: 火箭如何將成本不斷地降低 如何能夠回收火箭 電動車的成本分析,如何節省電池的費用。 到最近一次的如何節省 Twitter 開發人員的費用。 也都發現了馬斯克極盡苛刻的成本樽節與細節追求,讓追隨他的員工都無法忍受。但是也是因為這些原因才有可能有這些相關成就的發生。 同樣身為科技從業人員,都同意極致的追求細節與拼命的成本鑽研才會是造就令人驚豔的科技。 至於相關的員工能不能接受一樣的想法,造就出相關的完美的追求與拼命的個性。有看過一些 YTer 曾經分享過,特斯拉就像是新創公司一樣,每天幾乎不可思議的超長工時與經常性的大規模的專案追求團隊。都會讓裡面的員工戰戰兢兢,相當痛苦。但是完成後的成就感也會是無比巨大的。 但是又有多少人能夠在這樣的公司待得夠久呢? 或許追求出自己完美的一個里程碑之後,都會回歸到自己想要持續的平衡吧?
繼續閱讀

[LINE Bot][Python] Cloud Function + Gemini Pro + Firebase Database = 記憶體聊天機器人

起因 這邊文章,主要是透過【LineBot實作】如何製作有記憶的對話機器人 的相關修改。 把需要付費的服務 OpenAI 改成目前還有免費額度的 Google Gemini ,並且針對相關訊息的程式碼做一些調整。 主要的 LINe Bot 設定與 Firebase 設定請參考原先文章。 快速講解一下設定的方法: 這裡僅快速條列式,講解一下該如何設定這個應用。 建立 LINE Bot 帳號 首先先去 LINE Developer Console 建立一個 Messaging API Channel 在 Basic Setting Tab 取得 Channel secret 在 Messaging API Tab 產生 (issue) Channel access token 到 Google Cloud 的 Firebase 建立一個專案 設定一個 Realtime Database 更改安全規則,讓資料庫可以被任何人存取與修改。(請注意: 這是因為做測試專案,請勿再正式專案如此設定) 取得該資料庫網址: https://XXX.firebaseio.com/ 到 Google Cloud 的 Cloud Functions 建立一個 Cloud Functions - Gen1 或是 Gen2 都可以 採取 HTTPS 驗證部分: 使用「允許未經驗證的叫用」 新增四個環境變數: GEMINI_API_KEY:(在 Google AI Studio 獲得的secret key) LINE_BOT_TOKEN:(在Line Developers獲得的Channel access token) LINE_BOT_SECRET:(在Line Developers獲得的Channel secret) FIREBASE_URL:(在Firebase獲得的URL) 程式碼部分,請使用以下修改的程式碼。 主要修改程式碼部分 首先是 requirements.txt 需要將相關設備改成 Gemini pro - google.generativeai。 接下來建立另外一個檔案: main.py 設定 “進入點” 到 linebot,並且記錄觸發網址 https://xxxxxxxx.cloudfunctions.net/function-test1 。 關於 OpenAI ChatComplete 與 Google Gemini Pro - Multi-turn conversations 格式轉換 這邊講解一下,關於 OpenAI 的 Chat Completion API 的格式: [ { "role": "system", "content": "You are a helpful assistant." }, { "role": "user", "content": "Hello!" } ] 但是 Google Gemini Pro 的 Multi-turn...
繼續閱讀

[LINEBot SDK][Python] 使用 AiohttpAsyncHttpClient 處理 LINE Bot 圖片消息

使用 AiohttpAsyncHttpClient 處理 LINE Bot 圖片消息 在開發 LINE Bot 應用時,我遇到了一個挑戰:如何有效地處理用戶發送的圖片消息。我需要從 LINE 平台獲取圖片內容,然後將其用於後續的處理。這裡,我想分享我的問題與解決方式,特別是在使用 AiohttpAsyncHttpClient 與普通 HTTP 客戶端之間的比較。 套件: https://github.com/line/line-bot-sdk-python 問題描述 當用戶通過 LINE Bot 發送圖片時,我需要從 LINE 的服務器上獲取圖片數據。初始的問題出現在嘗試使用一個不存在的 iter_any 方法來讀取數據流,這導致了一個 AttributeError。這個問題很快被發現並修正,但我還想探索一種更高效的方法來處理這些圖片數據。 以前做法 這是以前透過 non-async 的做法,資料會完整讀完才會繼續執行。 ef handle_message(event): if (event.message.type == "image"): SendImage = line_bot_api.get_message_content(event.message.id) local_save = './static/' + event.message.id + '.png' with open(local_save, 'wb') as fd: for chenk in SendImage.iter_content(): fd.write(chenk) line_bot_api.reply_message(event.reply_token, ImageSendMessage(original_content_url = ngrok_url + "/static/" + event.message.id + ".png", preview_image_url = ngrok_url + "/static/" + event.message.id + ".png")) 這樣有可能會在某些地方卡住很久,造成整個流程無法繼續進行。 AiohttpAsyncHttpClient 的優勢 AiohttpAsyncHttpClient 是 line-bot-sdk 的一部分,它提供了一種非同步的方式來處理 HTTP 請求。這與傳統的同步 HTTP 客戶端有著本質的不同。在同步模式下,每個 HTTP 請求都會阻塞當前執行線程,直到收到響應。這在處理大量請求或需要高性能的應用中是不可取的。 相反,AiohttpAsyncHttpClient 允許我們發送非同步請求,這意味著我們可以在等待響應的同時繼續執行其他代碼。這對於提高應用的響應性和吞吐量至關重要。 from linebot.aiohttp_async_http_client import AiohttpAsyncHttpClient ..... async_http_client = AiohttpAsyncHttpClient(session) line_bot_api = AsyncLineBotApi(channel_access_token, async_http_client) 解決方案 我採用了以下代碼來異步獲取圖片內容: message_content = await line_bot_api.get_message_content(event.message.id) image_content = b'' async for s in message_content.iter_content(): image_content += s img = PIL.Image.open(BytesIO(image_content)) 這段代碼使用 AiohttpAsyncHttpClient 通過 line_bot_api.get_message_content 異步獲取消息內容。然後,我使用 iter_content 方法來異步迭代數據塊,並將它們合併到一個二進制字符串中。最後,我使用 PIL.Image.open 從這個二進制數據創建了一個圖片對象。 這種方法的好處是,它完全非阻塞。即使在下載大圖片時,我們的應用也可以繼續處理其他事件或消息,從而提高了整體效率。 結論 通過使用 AiohttpAsyncHttpClient,我成功地解決了處理 LINE Bot 圖片消息的問題,並且提高了應用的性能。這個案例展示了異步編程在現代應用開發中的重要性,特別是在需要處理大量 I/O 操作時。對於開發者來說,理解並利用這些異步工具將是提高應用性能和用戶體驗的關鍵。 參考文章: https://ithelp.ithome.com.tw/articles/10280087 https://www.myapollo.com.tw/blog/aiohttp-client/
繼續閱讀

[Google Colab][Python] 如何升級Google Colab 的 Python3 版號從 3.9 到 3.11

Google Colab 是一個免費的雲端 Jupyter 筆記本環境,可用於編寫和執行 Python 程式碼。Colab 預設的 Python 版本為 3.7,但有些情況下可能需要使用其他版本的 Python。 如何查看 Google Colab 的 Python 版本 要查看 Google Colab 的 Python 版本,請在程式碼編輯區域中輸入以下命令: !python --version 如何更改 Google Colab 的 Python 版本 有兩種方法可以更改 Google Colab 的 Python 版本: 使用 %env 魔術命令 %env PYTHONPATH=/usr/lib/python3.11 !python --version 使用 update-alternatives 命令 sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.11 !python --version 注意事項 更改 Google Colab 的 Python 版本可能會影響已安裝的套件。 更改 Python 版本後,請重新啟動 Colab 執行階段。 以下是一些常見的 Google Colab Python 版本問題及其解決方案: 問題: 我需要使用 Python 3.9,但 Colab 預設的 Python 版本為 3.7。 解決方案: 使用上述方法之一將 Python 版本更改為 3.9。 問題: 我更改了 Python 版本,但 Colab 仍使用舊版本的 Python。 解決方案: 重新啟動 Colab 執行階段。 問題: 我更改了 Python 版本,但某些套件無法正常工作。 解決方案: 重新安裝這些套件。 希望這篇教學文章能幫助您解決 Google Colab Python 版本號碼問題。 以下為截圖上的程式碼擷取,放在這裡備用。 !python --version #Python 3.9, but langchain need workaround for pydantic==1.10.8 to fix import issue. change to 3.11 !sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.11 #Install Python3.11 (no need for final version, will use latest one) !sudo apt update !sudo apt install...
繼續閱讀

[Golang][Gemini Pro] 使用 Gemini-Pro-Vision 來打造名片管理的聊天機器人

前提 在之前的文章中,探討了如何使用 Golang 結合 Google Gemini Pro 來開發一個具備大型語言模型(LLM)功能的 LINE Bot。這些文章分別介紹了如何整合 Gemini Pro 的聊天完成(Chat Completion)和圖像識別(Image Vision)功能: 使用 Golang 透過 Google Gemini Pro 來打造一個具有LLM 功能 LINE Bot (一): 聊天完成與圖像識別 使用 Golang 透過 Google Gemini Pro 來打造一個具有LLM 功能 LINE Bot (二): 使用聊天會話(Chat Session)與 LINE Bot 快速整合,打造具有記憶功能的 LINE Bot 這次,將簡要介紹如何利用 Gemini Pro Vision 模型來創建一個能夠幫助你整理名片的小工具,它甚至能自行識別名片上的資訊。 相關開源程式碼: https://github.com/kkdai/linebot-smart-namecard 註解: 關於如何使用 Notion 作為線上免費的資料庫,請參考這篇文章 : [Golang][Notion] 如何透過 Golang 來操控 Notion DB 當成線上資料庫 。 系列文章: 使用 Golang 透過 Google Gemini Pro 來打造一個具有LLM 功能 LINE Bot (一): Chat Completion and Image Vision 使用 Golang 透過 Google Gemini Pro 來打造一個具有LLM 功能 LINE Bot (二): 使用 Chat Session 與 LINEBot 快速整合出有記憶的 LINE Bot 使用 Golang 透過 Google Gemini Pro 來打造一個具有LLM 功能 LINE Bot (三): 使用 Gemini-Pro-Vision 來打造名片管理的聊天機器人 (本篇) 辨識名片處理上的小訣竅 執行的 Prompt 關於打造一個名片辨識的部分,這裡分享相關的做法: // Const variables of Prompts. const ImagePrompt = "這是一張名片,你是一個名片秘書。請將以下資訊整理成 json 給我。如果看不出來的,幫我填寫 N/A, 只好 json 就好: Name, Title, Address, Email, Phone, Company. 其中 Phone 的內容格式為 #886-0123-456-789,1234. 沒有分機就忽略 ,1234" 這個名片分成幾個部分來解釋: 解析圖片: 相關資訊透過照片的上傳。請...
繼續閱讀

[好書分享] 樂高-小積木立大功,用玩具堆出財富帝國的秘訣

樂高 - 小積木立大功,用玩具堆出財富帝國的秘訣 レゴ 競争にも模倣にも負けない世界一ブランドの育て方 作者: 蛯谷 敏 譯者: 連雪雅 陳幼雯 蘇文淑 出版社:大塊文化 出版日期:2022/05/28 語言:繁體中文 買書推薦網址: Readmoo: 購買網址 前言: 這是 2024 年第 1本讀完的書,這一本還蠻早之前就注意到的。但是因為真的超級厚一本,所以遲遲沒有開始看。去年年底開始喜歡看比較大本的書,以致於年底的書籍掛零。 這一本看完反而易猶未竟,真的蠻多小故事。不論是你是一個新創企業的老闆,還是一個成熟企業的主管。這一本書裡面有許多時期都是你會感同身受的。 內容摘要: 你一定玩過樂高,但你也許不知道: 任天堂、TOYOTA、Google、MIT、NASA⋯⋯都與樂高有著出乎意料的關聯! 樂高是現在世界上最大、利潤最高的玩具製造商,它曾被美國《財星》雜誌評為「世紀玩具」,更獲選為「全球最具影響力的品牌」,蟬聯「全球最佳聲譽企業」的寶座。在COOVID-19疫情下依然逆勢成長,營收屢創新高。 轉型創新必看! 面對時代新趨勢,向玩具龍頭學習變與不變的經營哲學 1932年創立於丹麥的樂高,發展至今近90年,在發展初期幾乎無人料想到其產品對於成人,能夠像對於兒童一樣具有吸引力。除了玩具外,還跨足不同商業領域,包含電影、遊戲、主題樂園等。 在今日如此成就下,其實鮮少人知道,樂高曾幾度陷入經營危機:因專利保護期結束,相繼產生,造成市場占有率急劇縮小;與《星際大戰》、《哈利波特》等知名 IP 合作,急於改革卻導致樂高一度面臨破產⋯⋯ 在這些危機中,樂高如何活用原有的創造性,提高商品價值的產品開發、品牌養成、培育廣大粉絲群、進行異業合作等策略,突破經營困境,創下高收益? 創造競爭優勢,「拼」出好成績 向樂高學習品牌永續經營的核心關鍵 品牌經營永遠是進行式!本書揭開超越GAFA(GOOGLE、AMAZON、FACEBOOK、APPLE)的樂高成功法則,教你掌握連Google 、TOYOTA都受到影響,持續創造品牌價值的四大關鍵—— 【關鍵1】理解自身強項 【關鍵2】創造能不斷收獲佳績的體系 【關鍵3】經營社群、強化連結 【關鍵4】明確的企業存在意義 樂高的年度財報表,可以看出來 2017 面臨著少見的營業利益與營收雙雙下滑的窘境。 心得: 在閱讀這本書前,我可能不是很清楚其實樂高已經是一間超過九十年的老公司。他高昂的單價,會讓我不知道其實他的專利在 1980 末期其實就已經過期。 現在你看到的所有「樂高-like」的組合積木其實都是合法的。 那麼到底樂高是透過哪些方式在經歷了: 1980 末的專利權過期,市場競爭開始激烈。 2000 之後,電視遊樂器的興起更讓兒童對於樂高逐漸失去了興趣。 2017 年初的經營危機,連續十三年的獲利之後戶然在這一年遇到營收與獲利雙減。 2020 年之後,所有的民眾對於短視頻的熱衷。讓注意力更難在積木上專注。 究竟他們是如何專注與轉型? 當然樂高不是沒有做錯事情,他們也有因為做了許多特有的樂高積木,造成過多的庫存與低迷的買氣。差點讓整個公司面臨到倒閉。 但是,回歸使用者創意的做法,讓他們更認真的思考會玩樂高的人,究竟要的是什麼? 是更多專屬的新樂高積木塊? 是更多電影系列的合作款? 之後他們也認真的將積木回歸了最基本的方式,反而與玩家一起成立特殊品牌 - 「 Ideas 系列」 這個系列將玩家變成了創作者,也讓「玩家社群化」更多與更多的玩家加入討論,搜集,投稿。一起跟公司成長。也造就了公司營收的復甦。 加上 2020 年之後的瑪莉歐創作系列,讓整個樂高的創作來的一個新的高度,並且讓更多的人願意一起加入。 最後,這整本書的編排其實不是依照時間的編排方式。 反而是透過許多單獨採訪的方式來敘述關於樂高這間公司的故事,在觀看上會稍嫌有點凌亂。 但是許多的重點還是有被完整的敘述,一間偉大的公司在經歷許多不同的嘗試過後。最重要的還是要回歸初衷,讓使用者找到他們真正的價值。
繼續閱讀