Skip to main content

One post tagged with "life"

View All Tags

九月生活与职业成长随想

· 11 min read
Allen
software engineer
此内容根据文章生成,仅用于文章内容的解释与总结

需要避免的变化

随着年龄的增长,有两种变化需要避免:

  • 固执自己的世界观,忽视其他年龄段人群的需求与视角。
  • 夸夸其谈自己的想法,却对事情的真相一无所知。

商品与生活

酒吧是接近学生时代爱情的地方,色彩、旋律、烟雾、甘甜等元素交织在一起,带来感官上的迷惑。只看你是否幽默帅气,不考虑家庭环境,也不管你即将去往何方。酒吧的食物和酒不是最有利润的商品,尽管它溢价很高。最有利润的商品是人。

摘要

  • “躲天意,避因果,诸般枷锁困真我;顺天意,承因果,今日方知我是我。”——《阳明心学》

  • “愿意自由换取保障的人,既得不到自由,也得不到保障。”——哈耶克

  • “只有金钱会向穷人伸手,而权力不会。”——哈耶克

  • “如果允许人类自由迁徙,那么人流的方向,就是文明的方向。”——哈耶克

  • “我所热爱着的世界,绝不能交给混子!”——我自己

教育供应商

原本用于考核学生的标准被用来考核指导老师,导致老师倾向于选择提供答案的厂商。机构与教师的核心目标是消课,提供适合长度的PPT/教案。

在AI时代,可以采用AI智能课的形式辅助学生学习:将电脑屏幕二分,一侧显示课件,另一侧提供AI助手,便于学生提问。这样,机构和教师的工作量转变为考核学生及处理问题。

学习建模技术

最近我间歇性学习建模技术,发现自己更倾向于选择中间款软件,它能快速生成及格的作品。

通勤学习

指定学习计划是利用碎片化时间的首要目标,阅读书籍、观看TED演讲或自己的收藏会让学习过程更有成就感。应避免泛信息输入(如新闻、推荐刷屏),而应选择适当的半精准信息输入(如读书、博客、GitHub等)。通勤后及时整理记录。

随着职业地位的提升,不必要的内耗逐渐减少。高中时非常在意学校的排名,而如今在大厂面前都统一成了“双非”。想要进入世界一流的企业,需要有相应的世界排名。只有世界级的排名与项目才能证明你的价值。

每个阶段有不同的评价标准。从学生时期的院校评价,到工作初期的薪资待遇,再到中年的事业与家庭评价,均体现出人生的不同阶段。

下个阶段目标:

  • 精通Python(算法)
  • 熟悉JS/TS(Vue、React)
  • 熟悉Fushion360、Blender建模软件,了解新技术(如Rust、AI模型方向等)
  • 成为GitHub开源项目XX的作者(20k)
  • 在Discord、GitHub上使用英语/中文与优秀开发者友好合作

我努力推动全球团结,吸取各家所长以解决当今与未来的问题。在解决问题时,坚持实事求是,能解决问题的理论才是好理论。

平淡生活的解药

平淡生活源于外部世界缺乏新输入。当工作多年没有变化,内部的平淡便开始显现,只有不断成长,才能支撑更远的目标与更好的生活。

如果我们把感情看作0和游戏。那么总会会有人因长期利益受损而对这段关系感到不满。

因此,只有当一方的所求不是另一方的付出时,0和才会被打破。即:某一行为是二者都收益的。

企业与员工关系亦是如此,企业提供平台员工发挥,员工将在平台创造的利润与企业分成。

迷你工作室

最近我发现迷你工作室非常适合我。迷你工作室通常由1-5人组成,项目可以是软件、游戏或网站。

成立工作室是为了开发票,能接到更多的项目。在AI时代,有两种发展方向:加入大公司研究通用人工智能,或选择中小型公司做垂类人工智能,专注于特定领域的模型开发。

除了开发人工智能模型外,还可以拓展其应用,如语音控制家庭设备。技术的爆发得益于高速通信和丰富的硬件资源。

经济下行时创业或找工作的挑战包括投资回报难、企业扩张减慢及岗位的消失,传统岗位正在逐步被淘汰,需尽早转型。

项目开发

项目的高度重复性促使我创建一个通用的第三方库。在开发中,代码的简洁易读是首要任务。

购车后

买车了,买完车除了要交保险之外,还需买一些必要的物品:行车记录仪、实习车标、挪车号码牌、车载除甲醛香薰、手机导航支架。

侧方位停车复习:开至肩膀与库中齐平,向车库反向打成45度,倒车回方向直至左右两边距离合适停正。

电脑新配

最近新买了一台台式机,含键鼠屏11998元,主要用于编程、跑模型和3D建模。虽然组装电脑是个有趣且省钱的过程,但因加班较多,我选择花钱让别人组装。

目前显卡溢价严重,后期计划升级。有程序员读者计划新购电脑的可以参考以下配置:

配件描述价格 (元)
CPUAMD锐龙 R9 7950X 16核32线程3695
硬盘英睿达固态硬盘1T M.2 PCIE5.01767
显卡华硕RTX30601674
内存光威内存 龙武 32G*2 64G 6400 C32 马甲条1330
主板华硕 TUF GAMING B650M PLUS 蓝牙 WIFI DDR51170
屏幕乐视显示器32英寸 1K 75hz699
电源利民TG-1000 额定1000W 金牌全模组 ATX3.0认证 黑色520
机箱及风扇航嘉 GX750A掠夺者 黑色 ATX 360 + 链力无光风扇*6300
水冷散热钛钽 SJ-A080 360WH295
键盘GANSS高斯 GS87C 104C299
鼠标Razer雷蛇炼狱蝰蛇V2X极速版双模无线电池笔记本蓝牙电竞鼠标249

将Cursor添加到右键菜单

通过脚本读取当前用户名,并在桌面生成名为AddCursorToContextMenu.reg的注册表文件。可在桌面找到该文件,以管理员身份运行。

import os

username = os.getenv('USERNAME')
cursor_path = fr"C:\\Users\\{username}\\AppData\\Local\\Programs\\Cursor\\Cursor.exe"


reg_content = f"""Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\\*\\shell\\Open with Cursor]
@="Open with Cursor"
"Icon"="{cursor_path}"

[HKEY_CLASSES_ROOT\\*\\shell\\Open with Cursor\\command]
@="\\"{cursor_path}\\" \\"%1\\""

[HKEY_CLASSES_ROOT\\Directory\\shell\\Open with Cursor]
@="Open with Cursor"
"Icon"="{cursor_path}"

[HKEY_CLASSES_ROOT\\Directory\\shell\\Open with Cursor\\command]
@="\\"{cursor_path}\\" \\"%1\\""

[HKEY_CLASSES_ROOT\\Directory\\Background\\shell\\Open with Cursor]
@="Open with Cursor current folder"
"Icon"="{cursor_path}"

[HKEY_CLASSES_ROOT\\Directory\\Background\\shell\\Open with Cursor\\command]
@="\\"{cursor_path}\\" \\"%V\\""

"""

# 获取当前用户的桌面路径
desktop_path = os.path.join(os.path.expanduser("~"), 'Desktop')

# 构造 Cursor.exe 的路径

# 生成 .reg 文件的完整路径,保存在桌面
reg_file_path = os.path.join(desktop_path, "AddCursorToContextMenu.reg")

# 将注册表内容写入 .reg 文件,使用 UTF-8 编码
with open(reg_file_path, "w", encoding="utf-8") as file:
file.write(reg_content)

print(f".reg 文件已保存到: {reg_file_path}")

导入模块

现在大家都知道可以通过pip install -r requirements.txt安装模块,但是有些模块可能安装失败,需要人手动再次安装。不能做到自动化。这里提供一个脚本,可以自动安装失败的模块2次,并保存到failed_requirements.txt

import subprocess

def install_requirements(requirements_file, failed_file):
failed_packages = []

# 打开 requirements.txt 并读取模块名称
with open(requirements_file, 'r') as file:
packages = file.readlines()

# 遍历每个包名并尝试安装
for package in packages:
package = package.strip()
if package: # 跳过空行
print(f"正在安装: {package}")
try:
# 使用 subprocess 执行 pip 安装命令
result = subprocess.run(
['pip', 'install', package],
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
text=True
)

# 检查安装结果,如果返回码不为0则表示安装失败
if result.returncode != 0:
print(f"安装失败: {package}")
failed_packages.append(package)

except Exception as e:
print(f"发生错误: {e}")
failed_packages.append(package)

# 将安装失败的模块写入 failed_requirements.txt
if failed_packages:
with open(failed_file, 'w') as f:
f.write("\n".join(failed_packages))
print(f"安装失败的模块已保存到 {failed_file}")
else:
print("所有模块均安装成功")
def remove_versions(requirements_file, output_file):
with open(requirements_file, 'r') as file:
lines = file.readlines()

cleaned_lines = []
for line in lines:
# 去除版本号部分(==后面的内容)
package = line.split('==')[0].strip()
if package: # 跳过空行
cleaned_lines.append(package)

# 将去掉版本号的包名写入新的文件
with open(output_file, 'w') as output:
output.write("\n".join(cleaned_lines))

print(f"已将无版本号的依赖项写入 {output_file}")

for i in range(2):
install_requirements('requirements.txt', 'failed_requirements.txt')
remove_versions('failed_requirements.txt', 'requirements.txt')