Daily Oops!

@DailyOops

The team is the content source of my blog. See it live at the link in the profile page.

Private team

Joined on Jun 2, 2020

  • 去年年中,睽違已久的出國玩,結果就被同行友人們傳教了輕量化(他們是輕量化登山露營愛好者 XD)。回來後我也就順勢入坑 onebag,中文或許可以譯做「一包行天下」,這個跟輕量化有點關係的主題。 入坑 onebag 後,最大的推坑怪獸就是 subreddit 版裡面的網友們,時不時就 Po 個新背包、新裝備,過去這半年多我看了很多貼文,從一開始身處背包型號海的混亂,到時不時會看到有人 Po 文檢討消費主義,再度把我從混亂的狀態拉回來(onebag 是哲學而不是裝備控啊你各位)。 總之最後我倒是買了個幾乎沒在版上推過的包 XD,而把腦衝買的 Aer Travel Pack 2 給賣了。買東西還是要有猶豫期啊,只不過是自己猶豫(?) 以下就記錄去年買的不少東西,簡單條列使用心得供大家參考。 旅遊類 小狐狸 Skule 20L 後背包
     Like  Bookmark
  • [!TLDR] 我把我的主要瀏覽器換成 Safari 了,想當然一堆魔改 你知道的,我一直都是 Webkit 系瀏覽器的使用者,從未使用過任何 Chromium 系的瀏覽器,什麼 Arc、Edge、Vivaldi、Brave、SigmaOS 之流,全都是吃記憶體的怪獸。Manifest v2 說棄就棄。web extension API 大一統?聽都沒聽過。Webkit 的順暢才是我們尊貴的 macOS 使用者的嚮往,豐富的 Extension?不需要的。翻頁般的動畫效果、細緻順暢的觸控操作、省電高效、原生體驗,這些才是我們的心之所向。 至於 Zen Browser,不過是 Arc 的抄襲狗,我祝福他們發展的順利。 其實看 Zen 最近的發展,極有可能讓我下一秒鬼轉,本段純屬玩笑。 成句來自迪西訊
     Like  Bookmark
  • 註:以下的內容取自 HackMD Features 頁,用以比較 markdown-it 渲染成果 English version 中文版 日本語版 :arrow_right: Check the source of this note :arrow_left: Read the complete tutorial
     Like  Bookmark
  • 追求極致的內建終端機體驗 在長期使用 neovim 之後,我發現 ToggleTerm 對我來說是最泛用靈活的工具。你可以: 拿來當輕量沒有 context switching 負擔的隨叫即用終端機 拿來綁定各種 TUI app,快速呼叫和隱藏 而 Astronvim 預設與 ToggleTerm 的鍵盤快速鍵,習慣後也覺得相當便利: Ctrl + ' 快速開啟/隱藏終端機 各種 TUI 綁定的快速鍵,比如 <kbd>space</kbd> <kbd>f</kbd> <kbd>t</kbd> 開啟 Lazygit
     Like  Bookmark
  • [!TLDR] 我目前用 kakoune 作為主力編輯器。本文會記錄並炫耀目前的設定。 當編輯器開始變慢,就是換換病發作的時候 承認吧,比起找出問題在哪,軟體工程師更善於砍掉重練。 身為使用 NeoVim 的軟體工程師,每天的日常就是:訂閱 Google 快訊 Neovim plugin 關鍵字,每天刷 Reddit NeoVim subreddit,每小時上 dotfyle 看有沒有什麼最新的 plugin、有空就刷 GitHub neovim topic 、隨時關注新專案。一有新的 plugin,當然第一時間直接裝爆。 至此,我的 NeoVim 已經變的比 Emacs 還要像作業系統,開啟速度比裝滿 300 個擴充功能的 VSCode 還要久。你問我有什麼頭緒,我怎麼會知道?
     Like 4 Bookmark
  • 去年八九月搞了一台 Orange Pi 來玩。原本是想跑 k3s cluster 來鍛鍊 k8s 相關知識的,但瞎搞了一陣子,只安裝完 TailScale 設定完 Exit Node,就沒繼續弄了。 幾個月前身邊幾位朋友開始玩 llama 時,一起裝了 llama.cpp 來使用,不過我自己並沒有太多著墨。最近為了嘗試微軟出的 Phi-2 這個超級小的模型,又重新找了解決方案,才發現 ollama 這套工具,讓下載 model、提供 AI API 一氣呵成,還有現成的 web UI 和 prompt community 可以用。 至此 ollama 才成為我開始認真打造 Homelab 的契機 XD 首次嘗試: MagicDNS + Caddy SSL 其實大多自建服務,跑起來之後用 local IP + port 就能夠存取了,反正也沒有要曝露到公網。有時候在外連線也要存取的話,就借助 TailScale 來把機器變成內網。覺得 IP 有點醜?那就用 Tailscale MagicDNS。剛好 Caddy 就內建了 Tailscale MagicDNS 的 SSL 整合,直接數行搞定:(好個合作!) # 若服務跑在 localhost 3000 port
     Like 1 Bookmark
  • 推坑推推坑 這次我要介紹的是 Raycast,Raycast 是一套「啟動器」(Launcher) 類型的軟體。什麼是啟動器?啟動器提供一個文字輸入框,你只要在裡面輸入關鍵字,就能快速的啟動關鍵字搜尋到的軟體,或是任何找到的工作流程,比如播放一首歌、開啟一份文件、切換電腦的黑暗模式等。啊,是不是聽起來很像流行很久的 Alfred?嘿對沒有錯,Raycast 可說是新一代版 Alfred,預設的界面設計比 Alfred 更為貼近目前 macOS 的設計語言。 如果你用的是 Windows,你也許也用過 Wox 這款啟動器軟體(現被 Powertoys Run 繼承)。這種啟動器類型的界面可以用「類 Spotlight」、「Command Palette」來稱呼,關於它的設計脈絡,可以參考這篇文章。近年隨著開發者生產力工具的蓬勃發展,Command Palette 更是成為了各 SaaS 的標配。彷彿少了這個功能就是不順手,不夠潮一樣 XD 至於本篇文章為何要特別「寫給開發者」呢?原因無他,USP 而已,作為一個開發者,不對喜歡的軟體狠狠搗鼓一番實在說不過去(好啦就只是我個人的執念)。雖然我在 2020 年底就開始使用了 Raycast,不過還真像我在臉書貼文預告的一般,一直都是偷偷自己用,直到去年年底 Extension API 推出後,我才開始全力把 Raycast 和自己的工作流程深度整合。 話不多說,準備好接受推坑嗎 (Y/y) 粗茶淡飯
     Like 14 Bookmark
  • [!TLDR] 本文描述的 Gemini 協定是一個開發於 2019 年的網路協定,而不是最近 Google 釋出的大型語言模型(LLM),以及其服務。 本文介紹 Gemini 協定以及其應用,並附上本站開發 Gemini 協定鏡像站的過程與細節 image 什麼是 Gemini 協定 請容我直接引用官方網站的介紹的翻譯(by Claude 3.5 Sonet)
     Like  Bookmark
  • [!TLDR] zuzugo 是一個被我暫時放置的專案,簡單來說就是 591 租屋網爬蟲。 不過這個專案,既幫助我找到現在的租屋處,而且能夠發一篇貼文記錄,也算是功成身退了 XD 介紹一個我在 2023 上半年做的專案:其名為「zuzugo 租租狗:屬於你的租屋快訊」。 There are only two hard things in Computer Science: cache invalidation and naming things. -- Phil Karlton
     Like  Bookmark
  • I just made yet another browser extension called "Vimify HackernNews"! You can download it from Chrome WebStore. It added several vim-inspired keyboard shortcuts to HN/HackerNews. Here's the complete supported shortcut: Keybinding Description <num>j Navigate Down
     Like  Bookmark
  • 睽違七年的 React Native 上個月回來寫 React-native,想做點自己的小玩具玩。距離上次寫 React-native 已經是七年前的 kaif.io rn app 了,歲月如梭啊,在這期間,我竟然連一次都沒有想在手機上跑自己程式的想法,看來果然是被蘋果生態系禁錮太久了 XD (歡迎來到水果監獄) 為了要在 React-native 上使用 codemirror 這個網頁用的程式碼編輯器,我需要使用 react-native-webview,而且為了實作可互動的界面,我同樣需要在 webview 中使用 React.js 要如何實作呢?我們先從 react-native-webview 的 API 開始看起。 react-native-webview 的 source API 在 react-native-webview 提供兩種 API 可以執行 JavaScript 程式碼:
     Like  Bookmark
  • :::info TL; DR version: I created Blast, a Raycast extension-compatible launcher. It's open-sourced on GitHub, but currently has a crappy UI and incomplete functionality. I hope to make progress in the upcoming months. Subscribe to this issue for updates, or buy me a coffee. ::: Good artists copy, great artists steal, but caffeine-fueled engineers make things open sourced.
     Like 1 Bookmark
  • 廢話不多,直接看圖吧! 半透明!隱藏標題列!介面字體統一 JetBrains Mono!! 設定 先安裝 Apc Customize UI++ 然後修改 settings.json,參照以下設定: "apc.electron": { "frame": false,
     Like  Bookmark
  • 上週將本站(yukai.dev)做了一些功能升級,包含: PrimerCSS 更新到最新版 新增文章未讀標記 新增站內預覽浮動瀏覽器 閱讀捲動進度標示 本文就當作是版本紀錄,詳細記錄下這次更新的內容。 PrimerCSS 更新
     Like  Bookmark
  • TL;DR: 他動了,但我還是不知道為啥 😭 什麼是 ActivityPub? 想像一下,如果全世界的社群網站都能互通:能在自己的網站發布內容讓其他網站的使用者訂閱、能夠追蹤不同網站上的使用者,我們從此不用再為了一個新網站申請一堆帳號會是怎麼樣的光景。 可以說 ActivityPub 就是在此目的之上的協定。只要你的網站支援了 ActivityPub,你的帳號資訊以及發布的內容,就能夠在同樣支援 ActivityPub 的服務上被閱覽及訂閱。另外重要的一點,這個協定是聯邦制(Federated)的,不是中心化(只有一種),也不是「去中心」,而是「多中心」。任何支援 ActivityPub 的網站都是大家族的一份子,兄弟姐妹網站們也能有很多不同的變體,支援不同的功能,但都能成為「聯邦網路」這個大社群網路的一員。 從最近 Reddit blackout 事件 後變得比較紅的替代平台 Lemmy 和 kbin,以及時間線再往前推一點、一直是 Twitter 出走平台的首選:Mastodon,他們都支援 ActivityPub 協議。總之我現在也會出現在那了,請大家多多指教 XD [註]
     Like  Bookmark
  • 呃,其實這已經去年的事情啦 XD(2022),這篇文拖到現在才從大綱變成文章,這都要多虧了我的寫文拖延症啊,沒有趁著三分鐘熱度,把想到的都寫下來,就會落入無止盡的 Backlog 地獄。每週總是有新專案想法,人生中又有太多有趣的事可以駐足,放著放著就過了一年,也是相當合理的。 說到拖延,一直說要寫的 Disfactory 工程部分心得文也還沒動工。能夠實體碰到我的朋友,下次見面請特別用力的催更一下(逃) 那我們開始正題吧! 一位軟體工程師去考大客車駕照幹嘛 當然是為了「一邊開車一邊寫扣」啊!這聽起來很像某種 YouTuber 的節目企劃對吧? 還是說,既然 GPT 都準備取代軟體工程師了,趁現在鬼轉司機正是個好時機?
     Like  Bookmark
  • I started to boost my terminal setup this month(again!). I've used my new setup for a week, and I became more productive MENTALLY! No matter what you think, I will show off my setup here. 🤣 Terminal Emulator: WezTerm I use WezTerm as my terminal emulator. I've tried a lot of terminal emulators before, like: iTerm2(2014 - 2019): It was used throughout my junior years since I bought first my Macbook Air.
     Like  Bookmark
  • 2023 年新年快樂!新年有什麼一定要做的事呢?對我來說就是挖新坑寫新專案無誤!這次的專案叫做 Blast,就如標題寫的,它是一個「能執行 Raycast 擴充功能的 React.js 渲染器(Renderer)」。 Raycast 和 React.js 對於第一次聽到 Raycast 的朋友,我以前也寫過一篇推坑文,Raycast 是一套 macOS 用的啟動器軟體(Launcher),提供一個關鍵字搜尋的介面,輸入關鍵字,就能快速啟動程式或進行其他操作。過往類似的軟體也不少,最知名的就是 Alfred,但 Raycast 最不同的一點,就是可以用 React.js 來寫的擴充功能。這邊我之前的文章也有簡略帶過,大家可以看官方的 todo-list 範例感受一下,有點像在寫 React Native,雖然寫的是 JavaScript,但卻能有原生的介面而非網頁。 React.js 相信近年熟悉前端開發的朋友應該都多少接觸過(斷言),React.js 提供了聲明式(Declarative)的 API 來開發使用者介面(User Interface),而使用者介面可以用階層、樹狀的結構來表示,去看看設計師 Figma/illustrator/Sketch 裡的圖層和群組物件就有感覺了,有的設計工具甚至還提供「輸出 React.js 元件」的功能。 剛提到了「用 React 來實作使用者元件」,React 核心就是一套 Virtual DOM/Diff/Update 的邏輯,無關終端平臺為合,Android、iOS 還是 Desktop,只要你實作 React 提供的介面,什麼平臺都可以寫 React,所以才有了 React Native 等一眾自定渲染器(Custom Renderer)。 Raycast 能夠用 React 來寫擴充功能,也是內嵌(ㄑㄧㄢ,誰這裡念砍我就...)Node.js 並實作渲染器。寫到這,Raycast 和 React 和 Renderer 的關係,大家應該多瞭解一咪咪了吧 XD 下面就來講講我為何決定做這個題目。
     Like 2 Bookmark
  • 為何要部屬 WordPress?就因為他是 CodeDeploy Tutorial 的第一個範例。AWS Documention 有個特點,就是到處 Reference 來 Reference 去,你很難在單一流程完整跑完所有的任務,非得要搭著其它份文件一起對照。筆者英文也沒那麼好,看著看著就會漏東漏西,文件又滿滿的都是字,沒有圖片可以參考,真令人崩潰。 CodeDeploy 是 AWS 眾多部屬方案中,看起來比較單純的一種。寫好 Setup 程式的 Shell Script,再聲明好 appspec.yml,定義每個 deploy life cycle 不同的階段要跑的動作,用 AWS CLI Tool 把 repo 打包上傳到 S3,再到 CodeDeploy console 定義應用程式部屬規則、後臺發起一個 deployment(一個部屬行動),CodeDeploy Service 便會把你的 code 部屬到你設定的 Deployment Group,依照 Group 設定的機器不同,你可以在同一個機器部屬很多個 Application,或是同一個 Application 部屬到很多台機器,端看設定,啦。 當然,AWS 系列就是啥都可以用 CLI 跑,只要開好對應權限的 role 並拿到 Access ID 和 Secret Key,我們也可以交由第三方 CI 服務,比如說 CodeShip,來幫我們完成「打包程式碼並上傳 S3」、「發起部屬行動」這種的工作。 以下便大致記錄一下本日折騰的感想與流程。 概念 CodeDeploy 約略是 14 年 11 月推出的服務,在此幹一張官圖,看圖說故事。
     Like 1 Bookmark
  • 免費的 Heroku 開的 App 只要過半小時,就會自動關機。雖然啟動很快,不過體驗就差了。 一般的做法是安裝 newrelic 監控,每隔一段時間交流一下,就可維持開機狀態。不過本 ghost 部落格一直設定不起來 newrelic 的 node 套件,只好找了個替代品 UptimeRobot 來使用。免費的方案可以 monitor 五十個站台,最短 interval 為五分鐘,夠用了。 表現倒是不錯,設定每十五分鐘左右自動 ping 個,就和一般網站一樣啦,皆大歡喜 XD。 螢幕快照 2015-04-23 上午1.46.37.png
     Like  Bookmark