Verne in GitHub

Podcast 托管

Podcast 近两年又突然火起来,一度认为 Podcast 是最近才流行起来的媒体,后来才发现这种媒介早在上世纪 80 年代就诞生 。近两年被再一次提起可能 iOS 系统内置播客系统是个契机,一时间让 Podcast 进入大众的视听,而国内近些年也陆陆续续出现了很多播客平台,喜马拉雅,荔枝等等, 播客这种形式在播客,视频播客新奇之后似乎很难找到自己的定位,但是在日常生活中还是有很多情况适用播客,在开车等双手双眼需要时刻准备着的时候,播客系统可以可以代替收音机,而在长途跋涉需要闭目养神时,播客也可以成为音乐的代替。 但是经过这么多年的演进, Podca Read more ...


Head First Design Patterns

Some of the Head First learning principles: make it visual. use a conversational and personalized style. think more deeply. keep attention. touch emotions. To bend your brain into submission Slow down, the more you understand, the less you have to memorize. Do Read more ...


xiaomi router samba password

ssh to xiaomi router smbpasswd -a root then enter your password two times. vi /etc/config/samba Edit option 'guest_ok' no option 'force_user' 'root' And vi /var/etc/smb.conf Edit guest ok = yes valid users = root Then restart samba service: /etc/init.d/s Read more ...

2016-10-11 xiaomi , router , samba , linux

Android 提醒

Android 对话框 实现对话框通常有三种方式: 使用 Dialog 类,或者其派生类 每个类被用来提供特定功能,比如日期选择,单选等等 对话框主题的 Activity 可以将对话框主题应用到 Activity 上,使 Activity 外观类似于对话框 Toast 特殊的,短暂的,非模态的消息对话,通常在 Broadcast Receiver 和 Service 中使用,来提示用户响应事件 以下重点考虑 Dialog 类的使用,其派生子类 DatePickerDialog,TimePickerDialog 以后扩展开 Read more ...

2016-10-11 Android , AndroidDev

Android 使用自定义 keystore 调试

可以在 build.gradle 文件中指定debug 下的 keystore 文件路径,一般放到项目跟目录下,并使用如下方式指定。 更多语法可以参考 Signing Configurations 部分 http://tools.android.com/tech-docs/new-build-system/user-guide 指定 debug variant 下 keystore 路径: android { signingConfigs { debug { storeFile file('your.k Read more ...

2016-10-09 Android , AndroidDev

全平台录制 GIF:LICEcap

以前写过一篇文章 讲的是如何在 Linux 下使用 byzanz 来录制 GIF,并且能够达到很好的效果,并且文件大小非常合适网络分享。现在就介绍下在其他两大平台 Win/Mac 下录制 GIF 的工具。 LICEcap 录屏 GIF 工具名字叫做: LICEcap 。这也是一款我在使用很长时间之后感觉非常好用的工具。他的官网地址: http://www.cockos.com/licecap/ 他有如下优点: 开源,简单,小巧 支持直接录屏转 GIF,或者自由 .LCF 格式,使用 REAPER 可以转制成 .gif 或者其他视频格式 Read more ...

2016-10-01 gif , 经验总结 , record , tools

通过 IFTTT 自动下载 Instagram 图片到 Google Drive

在 Instagram 关闭 API 之前可以通过 IFTTT 获取别人的更新 Photos, 但是 Instagram 收紧了 API 政策。既拿不到别人更新的信息流,同样也自己Like 别人照片的信息也拿不到了,原来 IFTTT 有两个 Recipes: 一个为自动下载个人 Liked 别人的 Photo 到 Dropbox 另一个为自动下载其他 ID 的更新 Photo 然而这两个 Recipes 都被 IFTTT 删去了,我甚至在 StackOverflow 上问过这件事情,只是几个月过去了,也没有任何实质性的方案。 直到这些天 Read more ...


Android 常见错误

INSTALL_FAILED_NO_MATCHING_ABIS 的解决办法 出现时机 INSTALL_FAILED_NO_MATCHING_ABIS 的解决办法,在 Android 模拟器上安装 apk 的时候出现 解决办法 是由于使用了 native libraries ,该 native libraries 不支持当前的cpu的体系结构。 INSTALL_FAILED_NO_MATCHING_ABIS is when you are trying to install an app that has native libraries and i Read more ...

2016-09-29 Android , AndroidDev

android 6 runtime permission

在 target API 23 之前,应用申请权限为一次性给予,开发者需要在 Manifest 中使用 users-permission 来申请权限,而用户则是在安装应用时一次性赋予应用所有申请的权限。 <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.android.app.myapp" > <uses-permission android:name="android.permission.RECEIVE Read more ...

2016-09-27 Android , AndroidDev

Android Snackbar 使用

Snackbar 提供操作的轻量级反馈。显示在手机底部或者大屏幕的左下,Snackbar显示在所有界面的最上层,并且只显示一次。 Snackbar 可以包含一个操作,使用 setAction(CharSequence, android.view.View.onClickListener) 设置。 Snackbar 可以通过 setCallback(Callback) 来设置显示和消失的回调 Snackbar.Callback 显示时间长短的常量 int LENGTH_INDEFINITE 没有操作不消失 int LENG Read more ...

2016-09-26 Android , AndroidDev

最近文章

  • Nowledge Mem 使用半年体验:让所有 AI Agent 共享同一份记忆 今年 2 月份我把 [[Nowledge Mem]] 装到 MacBook 上,想解决的是一个很常见的问题:我希望在 [[Perplexity]] 网页上查过的资料,直接在 Claude Code 中可以记住。但没想到大半年过去,它已经变成了我每天都在用的软件,而且是那种「不在后台跑着就会觉得别扭」的存在。我在 Claude Code、[[Codex]]、[[OpenClaw]] 里开的每一个会话,开头都会先从它这里拿一份简报;网页上和 AI 聊过的东西会自动同步进去;我做过的决定、踩过的坑、服务器的配置,都沉淀成一条条可以被任何 Agent 检索的记忆。说它是我所有 Agent 的记忆和大脑,一点都不夸张。
  • Aside AI 浏览器介绍:既能自己干活,也能接入 Agent 前两天整理了一篇 AI 浏览器自动化方案怎么选,把 Playwright、MCP、Agent 专用浏览器、WebMCP 这些路线梳理了一遍。在那篇文章里我提到,「内置 Agent 的 AI 浏览器」这一类里我最看好的是 Aside,原因是它的密码管理器设计得很用心,但篇幅有限没有展开。今天就单独写一篇,聊聊这个浏览器到底能做什么、和 [[Comet]]、[[Dia Browser]] 有什么不一样,以及我现在是怎么用它的。如果你看完想试试,可以用我的邀请链接 https://aside.com/r/UpYKnv9ziq 注册,注册后会额外获得 100 Credits。
  • AI 浏览器自动化方案怎么选:从 Playwright、MCP 到 Agent 浏览器和 WebMCP 的全景梳理 最近我一直在研究「让 AI 用浏览器」这件事。起因是看到 Nowledge 写了一个 browse-now Skill,可以直接让 Claude 控制浏览器,紧接着又偶然发现了 [[Ego Lite]] 这款专门为 Agent 设计的浏览器。顺着这条线,我把 Aside、BrowserOS、Deta Surf 这几款 AI 浏览器挨个调研了一遍,越看越发现它们的侧重点和实现方式差别很大:有人在做测试框架,有人在做浏览器插件,有人从 Chromium 内核开始为 Agent 改造浏览器,还有人在推动新的 Web 标准。它们看起来都在「让 AI 操作网页」,解决的却根本不是同一个问题。
  • 入手 GL.iNet Comet Pro(RM10):支持 Wi-Fi 6 的远程 IP KVM 家里的 [[Homelab]] 一直是一台 4 盘位的小主机跑 [[Proxmox VE]],上面跑着 Ubuntu 虚拟机、一堆 Docker 服务和下载机。平时远程管理全靠 SSH 加 [[Tailscale]],只要系统还活着基本没什么问题。真正让我不放心的是系统起不来的时候:升级内核后卡在启动界面、改网卡配置时手滑导致网络没起来、BIOS 被重置后不再从正确的硬盘启动,这时候 SSH 连不上,Tailscale 也不会在线,人不在家就只能干等。最近正好赶上一波促销,我入手了 [[GL.iNet]] 的 Comet Pro(型号 GL-RM10)远程 [[IP KVM]],叠加各种限时优惠之后实际支付 590.76 元,算是把 Homelab 远程管理的最后一块短板补上了。
  • 用 PowerContext 给多个 Coding Agent 做任务交接 现在我写代码基本是 [[Codex]] 和 [[Claude Code]] 轮着用。有时候是 Codex 的额度先用完了,有时候是某一步我觉得 Claude Code 更合适,于是一个任务经常要在两个 Agent 之间换手。真正麻烦的不是换工具本身,而是换手的那一刻:新会话对前面发生的事一无所知。之前选了哪个库、哪个旧接口不能动、改了哪些文件、测试跑没跑过,这些信息全都留在上一段对话里。我只能手动复述一遍,或者把一大段聊天记录贴回去,前者容易漏掉关键约束,后者浪费 Token,还会让模型在几千行历史里抓不住重点。说到底,我缺的不是一个更大的上下文窗口,而是一份能在 Agent 之间传递、而且接手方可以核对的「当前状态」。在写这篇文章的时候还出现了另外一个思路就是利用 [[magpie]] 将模型路由给充足额度的账号,这个之后再写文章说。