普通视图

发现新文章,点击刷新页面。
昨天以前RUNNINGJ

未来一人的10亿美金公司会变得可能

2025年6月21日 01:18

未来一人的10亿美金公司会变得可能,朝这个方向努力

在AI和自动化技术飞速发展的今天,一个人创建并运营价值10亿美元的公司正在从不可能变为可能。这种转变主要来自三个关键因素:

核心驱动力

  1. AI员工崛起:智能代理(Agent)可处理90%的日常工作
    • 客户服务、产品开发、营销推广等全流程自动化
  2. 零边际成本架构:云原生+Serverless技术栈
    • 无需运维团队,系统自动扩缩容
  3. 全球人才网络:按需调用全球专家资源
    • 通过平台快速组建临时专家团队

关键技术栈

graph TB
A[AI Agents] --> B[自动化工作流]
C[No-code平台] --> B
D[云服务市场] --> E[按需资源]

实现路径

  1. 产品化核心能力:将个人专业知识封装为数字产品
  2. 渐进式自动化
    • 阶段1:人工为主,Agent辅助
    • 阶段2:Agent为主,人工决策
    • 阶段3:全自动运行,人工监控
  3. 杠杆效应最大化:用AI放大个人影响力
    • 1人服务百万用户
    • 智能代理处理长尾需求

成功案例

  • AI设计平台:单人团队,年收入$2000万
  • 加密交易系统:1人维护,管理$7亿资产
  • 内容工厂:全自动生成发布,月PV 1.2亿

未来属于"超级个体":用智能工具武装自己,以10亿为目标重新规划事业。

Origin: 未来一人的10亿美金公司会变得可能 @ RUNNINGJ

利用自然语言批量重命名文件

2025年1月21日 18:01

在日常开发工作中,我们经常需要处理各种文件,而文件的命名往往让人头疼不已:

  • 手机相册中充斥着"DSC_1234.jpg"这样的默认命名
  • 工作文档的命名毫无规律可循
  • 项目文件夹中充斥着"最终版_v2_真的最终版.docx"这样的混乱命名

当文件数量较少时,我们可能会手动修改文件名,但当文件数量达到数百甚至上千时,手动修改变得不切实际。虽然可以编写脚本来批量重命名,但这些脚本通常是一次性的,后续还需要重新编写。

最近,我尝试利用大模型技术来批量重命名文件,并开发了一个工具——renamefiles

这个工具有多好用?

举个例子:

  • 你旅游归来,手机里有500张照片
  • 输入"加日期和地点"
  • 瞬间,文件名从"DSC_1234.jpg"变为"2025-01-21_巴黎_1234.jpg"

再比如:

  • 你接手了一个遗留项目,文件名杂乱无章
  • 输入"统一命名,加项目前缀"
  • 所有文件立刻变得井然有序
  • 再也不用担心被同事吐槽了

为什么我离不开它?

  1. 极速处理 即使面对数千个文件,也能在几秒钟内完成重命名

  2. 智能理解 它能够理解自然语言指令,无需记忆复杂的命令

  3. 安全保障 所有操作都在本地完成,文件不会上传到任何服务器

  4. 灵活调整 重命名后可以预览效果,不满意可以随时撤销

我真心推荐这个工具给所有被文件命名困扰的朋友们!一旦使用,你就会发现再也离不开它!

链接: renamefiles

Origin: 利用自然语言批量重命名文件 @ RUNNINGJ

未来可期

2022年8月24日 22:35

人口增长见顶,很可能今天就会负增长。对未来有一种莫名的期待。

人口增长,城市化,经济的高速增长,裹挟这每个人,先来的盆满钵满,后来的仰天长叹。每个人FOMO,每个人都会被绑架进投机的浪潮之中。

资源的分布不均,实际上,是在剥削低成本劳动力,经济的快速发展,是在剥削后来的入局者。

每个人都投机的时代,实业(创造实在价值的行业)的重要性被严重削弱。

投机的时代过去,将是真正创造价值的人的好时代。我们才会更多地关注:怎样提高人的生活质量、提升生活的幸福感,怎样拓宽人对世界的认知。

Origin: 未来可期 @ RUNNINGJ

快速获取系统的基础信息

2022年5月4日 18:32

我们在刚刚接触到一台主机时,需要对其配置做基本的了解。CPU、内存、磁盘、系统等等。往往是临时搜索相关命令,究其原因,没有一个简单的命令获取到这些基础信息,需要通过各种奇怪的命令单独获取,结果就是,每次都记不住,需要借助搜索引擎。

简单总结,发现只要两条命令即可:

hostnamectl

获取系统和CPU架构相关信息。结果示例如下:

$ hostnamectl
Static hostname: bishen-service-3
	 Icon name: computer-vm
	   Chassis: vm
	Machine ID: 20190624175805163024217312895245
	   Boot ID: 303e81b7d60d48d29a7610ecf3c2a4bf
Virtualization: kvm
Operating System: Ubuntu 18.04.2 LTS
		Kernel: Linux 4.15.0-99-generic
  Architecture: x86-64

htop

获取内存、CPU和运行时间等信息。

df

获取磁盘信息。

$ df
Filesystem      Size  Used Avail Use% Mounted on
udev            3.8G     0  3.8G   0% /dev
tmpfs           771M  3.1M  768M   1% /run
/dev/vda1       118G   38G   76G  34% /
tmpfs           3.8G     0  3.8G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           3.8G     0  3.8G   0% /sys/fs/cgroup
tmpfs           771M     0  771M   0% /run/user/0

有三个命令,感觉还是有点麻烦,也已写成一个脚本。

# sysinfo.sh

hostnamectl | grep -E '(Operating System|Static hostname)'

echo ----

lscpu | grep -E '^(Architecture|CPU\(s\):|CPU MHz:|Model name:)'

echo ----

df -h | grep '/$'

如果信任这个博客,可以执行如下命名,来快速获取系统信息。

$ curl -ksS https://runningj.top/sysinfo.sh | sh

不过执行这个shell脚本似乎也不是太方便。🤔

Origin: 快速获取系统的基础信息 @ RUNNINGJ

选iPhone还是选Android

2022年4月10日 15:02

时不时在Android和iPhone之间犹豫,两年前由iPhone换成Android后,除了一些细节习惯,没有体会太大的不同。

使用Android的这两年,之前的iPhone也处于辅助使用状态。在个别场景下使用。

最近,又到换机的时候,手上的OnePlus 8也不小心摔碎了屏,想换回iPhone。

换机的契机,做下对比,看看下一个手机用哪个合适。

VPN

iPhone封闭,暂时还没找到合用的VPN,除非找一个美区的账号。Android开放,比较方便,最近使用很顺畅。部分应用,比如github/feedly,使用VPN还是很有必要的。

应用

iPhone用户质量较高,部分小众应用或者初创企业的产品,只有iOS版,比如阅读软件Matter,笔记软件Bear

数据

使用iPhone,大部分数据会存储在iCloud上。同时使用Mac,数据的共享同步非常方便。很多笔记类应用也会基于iCloud进行数据同步,换为Android则有较大的迁移成本。

开发

作为程序员,经常有冲动给自己写个小工具,Android非常方便,写好就能装到手机号,还能几乎毫无成本地发布到Google Play上。对于苹果,你学要注册开发者账号,交一年600的会员费,还要经历严格的审核才能上架,相比之下,非常麻烦和不划算。

总结

作为一个正常用户,使用iPhone体验要好很多,作为开发者,Android的体验又好很多。所以,下一个手机应该是iPhone,但保留Android作为备用机,在需要VPN和开发的时候使用。

Origin: 选iPhone还是选Android @ RUNNINGJ

vim小技巧总结

2022年4月7日 23:17

一直在使用vim开发,无论是前端还是后端,甚至是写笔记也用的vim模式。遂总结一些使用过程中的小技巧。

vim使用时需要频繁地在不同模式间切换,Esc距离稍远,不太方便,建议用Ctrl+[替代Esc,并交换Tab键和Ctrl键的绑定。方便在编辑模式和normal模式切换。

维护一个vimrc,通过同步vimrc文件,可立即还原熟悉的开发配置。

推荐安装插件

  • dense-analysis/ale:提供语法检查、自动格式化等功能。
  • kien/ctrlp.vim:快速文件名搜索。
  • junegunn/fzf.vim:集成各种内容搜索工具: Ag, ripgrep等。

快速运行正在编辑的源文件

开发中,经常要做冒烟测试,修改后快速运行,查看效果。通过配置,在normal模式下,先后按下,r,可以运行当前源文件。具体配置如下:

" 更改命令引导符
let mapleader = ','
let g:mapleader = ','

" 根据文件类型绑定快速执行命令
au FileType sh nmap <leader>r :w !sh<CR>

au FileType go nmap <leader>r <Plug>(go-run)

au FileType python nmap <leader>r :exe "!python -m" shellescape(substitute(expand('%:r'), '/', '.', 'g'))<CR>
" au FileType python nmap <leader>r :!python %:p<CR>

au FileType javascript nmap <leader>r :w !node --experimental-modules<CR>

以上配置中,根据源文件的类型,将,r绑定到不同的命令,对shell文件,会绑定到:w !sh,实现运行shell脚本文件。对golang文件,绑定到go-run命名,此命令由插件提供。对python文件,配置中有有两种写法,第一种方法,通过module的方式执行当前文件,第二种方法,将文件内容直接输入给python解释器,第一种有更好的适应性,第二种,在没有复杂的import路径时,也是基本可用的。对node文件,也是将文件内容直接输入给node解释器。

快速移动

目标在显示区域外的移动,使用Ctrl-fCtrl+b。目标在屏幕中后,使用H,M,L快速移动到目标附近。剩下的可以通过h,j,k,l,w,b,0,$等来完成。

另外,强烈建议开启显示相对行号,通过set relativenumber,可以配置在vimrc中。开启此配置后,编辑器显示的行号,是相对光标位置的行号。这样通过行数移动会比较方便。

如果一行中有比较容易识别的标记字符,通过f,F,t,T,也可以实现极快速的移动。

快速全局搜索

开发过程中,经常需要在项目中搜索关键词(变量、函数、类名等),了解相关的使用情况。通过以下配置:

" search current word use Rg
vmap <space> "xy:Rg <C-r>x<CR>

在visual模式中,选中关键词,并按空格键,即能通过Rg在当前目录中搜索目标词。

复制到系统剪贴板

vim中yank默认不会到系统剪贴板,寄存器*代表的系统剪贴板,可以通过"*y的方式复制到系统剪贴板,需要3个键,相对麻烦,可以在vimrc中配置:

vmap <leader>y "*y

这样,在visual模式中,通过,y即可复制到系统剪贴板。

如果有什么好用的vim小技巧,希望能不吝分享。

Origin: vim小技巧总结 @ RUNNINGJ

接口中的时间应该采用什么格式

2022年9月2日 23:21

看到一片篇文章:

Designing a REST API: Unix time vs ISO-8601

讨论在接口中,应该使用unix时间戳还是ISO-8601这样可读形式。文章建议,采用ISO-8601,理由是,可读性更重要。

自己在日常业务中的API中都采用的unix时间戳,暂时不想改变。深入思考,又觉得应该保留unix时间戳,理由是, unix时间戳能减少沟通成本,API的开发和使用往往是不同的人,沟通是一个显著的成本。unix时间戳只有一种形式,而可读的时间串很多形式,日常使用中往往不采用ISO-8601的形式。

但在调试的时候,unix时间戳确实让人头疼,为了缓解这个问题,遂写了一个shell函数punixtime,快速翻译unix时间戳。函数实现如下:

function punixtime() {
    while [ $# -ge 1 ]
    do
        ts=$1; shift
        if [[ $ts -ge 1000000000000 ]]
        then
            ts=${ts:0:10}
        fi
        date -r $ts +"%Y-%m-%d %H:%M:%S"
    done
}

其实,大多数时候,date -r <seconds>也能满足需求。需要注意的是date的参数是秒,大多数unix时间戳是毫秒。

Origin: 接口中的时间应该采用什么格式 @ RUNNINGJ

未来可期

2022年8月24日 22:35

人口增长见顶,很可能今天就会负增长。对未来有一种莫名的期待。

人口增长,城市化,经济的高速增长,裹挟这每个人,先来的盆满钵满,后来的仰天长叹。每个人FOMO,每个人都会被绑架进投机的浪潮之中。

资源的分布不均,实际上,是在剥削低成本劳动力,经济的快速发展,是在剥削后来的入局者。

每个人都投机的时代,实业(创造实在价值的行业)的重要性被严重削弱。

投机的时代过去,将是真正创造价值的人的好时代。我们才会更多地关注:怎样提高人的生活质量、提升生活的幸福感,怎样拓宽人对世界的认知。

Origin: 未来可期 @ RUNNINGJ

快速计算文本中数据的和

2022年8月23日 00:41

深夜,查看业务数据,忽然想知道一些分散数据的总和,这时已经通过vi操作,将数据按行罗列到文本文件中。当然可以借助excel或者脚本来计算。虽不是特别麻烦,但也不迅速。

最好是能够在shell中就能快速完成。而不是新建一个临时的excel文档,或者一个临时的python脚本。

网上搜罗一番,大概有以下几个方法。

方法一,借助awk

function sum_v1() {
	awk '{s+=$1} END {printf "%.0f\n", s}' "$@"
}

方法二,借助bc

首先需要将数据转换成求和的表达式。通过joinByPlus函数实现字符串的拼接。

function joinByPlus() {
	local IFS='+'
	echo "$*"
}

这时sum如下:

function sum_v2() {
	files="$@"
	joinByPlus $(cat $files) | bc
}

拼接表达是的范式有点繁琐,通过paste可以更简单地实现。

这时sum如下:


function sum_v3() {
    paste -s -d+ "$@" | bc
}

将以上函数放入rc文件中,这样就可以通过sum <file>愉快地计算多行数据的和。

Origin: 快速计算文本中数据的和 @ RUNNINGJ

快速创建博客

2022年5月18日 18:40

眼看博客又要荒废了,比较忙是客观原因。还是要想办法,如果能在细节上提升效率,减少写博客的阻力,或许能越过那个阈值,让博客能轻松坚持下去。

每次写,都是先在obsidian中写好,然后复制到hugo中。hugo中生成文章已经比较方便了,但我希望文件遵循一定的格式,像这样:2022-05-18-quick-add-blog.md,首先需要电脑上看下今天几月几号,一般人是很难一口就答出当天的日期,然后,再手敲中横线,补全完整的文件名。

已经很简单,但是,还是可以通过脚本代替我来输入日期和完成中横线拼接,遂写了如下脚本:

# file: newpost
#!/bin/bash

function join() {
    local IFS="-"
    echo "$*"
}

datePrefix=$(date "+%Y-%m-%d")
fileName=$(join $datePrefix "$@") 

hugo new blog/${fileName}.md

在命令行中,通过如下命令创建了本篇博客。

./newpost quick add blog
Origin: 快速创建博客 @ RUNNINGJ

人生很短,很多事不值得

2022年4月3日 20:58

最近发生了很多事,国外的、国内的、远处的、身边的,促使自己反思,思考人生的意义,对抗人生的虚无。为什么很多事会给你带来痛苦?

渐渐地得到一些碎片,指引自己。

  • 远离争论。大多数的争论都是在自说自话,并不会说服对话,也不会得到共识。

  • 远离负面的人。可能他会让你难受,抑或有时候会拉拢你、同化你,请记住,尽可能地远离,人生很短,做有价值的事。

  • 会议是一种必要的浪费。开会时,要时时刻刻保持负罪感,时间在自己眼前流走,而眼前的会议却没有进展。

  • 记录是留住时间的第二好的方式。最好的方式是「做点什么」。

  • 远离某音、某条。如果你不缺乏基本的快乐,也不想时间被偷走,请远离他们。

  • 深夜是写代码和写字的好时候。就像北京的4、5、9、10月份。抓住他,不要浪费。

  • 在很多层面,这个世界变化很小,比如:精神需求,基础的生存需要等方面。但其他方面的变化超乎想象。所以,谨慎地接受过去的经验,很多时候可能成为我们前进的枷锁。

Origin: 人生很短,很多事不值得 @ RUNNINGJ
❌
❌