Joel Spolsky在耶鲁大学的演讲(上)转自阮一峰的网络日志

S32K144后门密钥实战:如何用JLINK脚本绕过复位陷阱更新加密固件 本文详细介绍了在S32K144微控制器上,如何利用JLINK脚本绕过调试器默认复位陷阱,实现通过后门密钥安全更新加密固件的实战方案。针对汽车电子现场维护中常见的“解锁-复位-锁定”循环问题,文章提供了完整的JLinkScript定制方法、批处理工具及故障排除指南,帮助工程师高效完成固件升级。 阅读详情
导读:
  
  Joel Spolsky是一个美国的软件工程师,他的网络日志“Joel谈软件”(Joel on Software)非常有名,读者人数可以排进全世界前100名。
  上个月28号,他回到母校耶鲁大学,与计算机系的学生座谈。他发表了一个演讲,回顾自己的人生经历,并总结了一些个人的体会。
  我读完他的演讲稿,很受触动,觉得他的人生体会非常具有启示性。这篇演讲非常长,分为三个部分(一、二、三)。我没有时间全文翻译,就摘录一些精彩的段落,一共有四段。
   大学里最有用的课程
  Joel说,他在大学里上过的最有用的课,是一门他只上了一回,然后就再也没有去过的课。
  由于父母都是大学教授,亲戚朋友都是学术界里的,大多有博士学位,所以Joel从小就认定自己也会去读博士,将来搞学术。可是,有一门课程改变了他的想法,使他最终没有去报考研究生院。
  这门课程叫做“动态逻辑”(Dynamic Logic)。在第一堂课上,教授证明了一个命题。假定有一个程序“f := not f,” f是表示真假的逻辑值,那么结论是程序运行偶数次后,f的值保持不变。整个证明过程非常冗长,要花几个小时讲解,一共有几十步。课后习题则是,证明如果f值保持不变,那么程序必然运行了偶数次。
  课后,Joel花了很多时间做题,还去图书馆借来了参考书。但是,他逐渐感到这样做没有意义:用大量琐碎的、容易出错的步骤,去证明一个凭直觉就能认定成立的命题,这不是一个富有实效的工作方法。在Joel看来,计算机更应该用来解决错误,而不是让人们陷入逻辑的陷阱,去产生错误。(I decided that this Dynamic Logic stuff was really not a fruitful way of proving things about actual, interesting computer programs, because you’re more likely to make a mistake in the proof than you are to make a mistake in your own intuition.)通过这件事,他认识到,自己不适合做纯思辨性的学术研究。因此,他就退掉了这门课,并且以后也没有选择去上研究生院。
  Joel认为,就是这门只上了一次的课,恰恰成为了他在大学中上过的最有用的课,因为它帮助他选择了正确的人生道路。
   所以,Joel的第一个结论是:人生中重要的是,关注那些真正的问题(real problem),不要陷入那些细枝末节的问题(trivial problem)。就像苏格拉底说的,“认识你自己”。
  此外,Joel说,还有一门叫做CS 323的课,也很有用。这门课有大量的课后习题,都是关于编程的,平均每星期要花40个小时来做题。
  Joel发现他能够做出大部分的题目,更重要的是,他发现自己喜欢做这些题。这样一来,他就明白自己是适合编程的。另一方面,很多其他学生对这门课感到无比头疼,觉得编程既枯燥又痛苦,每周40小时做这种题简直是一种刑罚。这些人于是明白,虽然同样是计算机系的学生,但是他们并不适合编程。这是一件好事,因为这样他们就避免了以后选择错误的职业。否则,让一个不喜欢编程的人,一生都与程序打交道,这是多么悲惨的一件事啊!
   在Viacom的日子
  毕业以后,Joel先在微软公司干了一段日子,然后回到纽约,进入维亚康母公司(Viacom),为这家巨型的娱乐传播公司编写软件,成为IT部门里一个程序员(in-house programmer)。
  后来,Joel回忆起来,认为这是他一生中最痛苦的日子,并且劝告计算机系的学生尽可能不要去做“in-house programmer”。
  原因有三个。
  首先,你永远没有办法正确地编写软件,你不得不用最方便的方法编写软件。因为软件支出非常高昂,所以公司会要求尽可能节省成本,你不可能试用新技术,只能使用现有的最成熟、最保守的技术。
  其次,你没有办法将一个项目做到尽善尽美。一旦程序可以正常运行,你的工作也就结束了,可以接下去干公司的下一个项目了。你的作用是解决问题,而不是将软件写得尽可能好。如果你是在一个专业的技术性公司,比如Google或Facebook,情况就完全不一样,你的软件写得越好,公司就会越成功,所以公司会支持你在一个项目上不断做下去。
  最后,传统公司IT部门里的程序员,只属于公司内部的维护人员,而不是直接从事核心业务的人员。因此,你永远办法进入管理层。但是,在技术性公司,程序员会变成CEO。
  因为这三个原因,Joel觉得in-house programmer不是一个好的职业,不幸的是,80%的程序员属于这一类,年复一年,很多人的生命就是这样被耗干的。(it’s frightening because this is what probably 80% of programming jobs are like, and if you’re not very, very careful when you graduate, you might find yourself working on in-house software, by accident, and let me tell you, it can drain the life out of you.)
   Joel的第二个结论是:选择职业时,不要只考虑职位是否专业对口,应该尽量选择业务方向与你专业相同的公司。

本文转自
http://www.ruanyifeng.com/blog/2007/12/joel_spolsky_talk_at_yale_part_i.html
数仓建模—数据治理框架选型 全名主要亮点覆盖面最广:从数据治理、架构、质量、安全到元数据、主数据、数据仓库等等,几乎所有数据管理主题都能在DMBOK里找到相应章节。概念权威统一:帮助组织建立通用术语和知识基础,减少“部门之间说法不一致”的沟通成本。适用场景:如果你所在公司(或团队)正准备系统梳理数据管理的方方面面,DMBOK是一份非常全面的指导手册,尤其适合培养新人或为整个组织统一认知。需要注意:DMBOK偏“知识指引”,不直接提供成熟度模型或实施路线图。想要落地,还需要结合其他评估模型或项目管理方法。小案例举例:某。 阅读详情

相关推荐

AD服务器搭建

一、角色安装1)打开服务器管理器,添加 角色和功能;2) 点 下一步;3)点 下一步;4)点 下一步;5)点击安装;6-1)将此服务器提升为域控制器;6-2)点下一步;6)输入密码 点 下一步;7)自动生成LIXF,点击下一步;8)确认目录,点下一步;8)确认安装条件,点安装; 8)安装成功,点关闭;...

潇峰的博客 6452

Joel Spolsky在耶鲁大学的演讲(3-2)

 Joel on Software Talk at Yale: Part 2 of 3by Joel SpolskyTuesday, December 04, 2007This is part two of the text of a talk delivered to the Yale Computer Science department on November 28.

簡單筆記 937

保姆级!n8n 公众号自动化:从 0 搭 “写文案 + 生图 + 发草稿” 全流程

【摘要】本文介绍如何利用n8n搭建全自动公众号内容发布流程,涵盖AI文案生成、封面图制作到自动发布的全链路解决方案。通过对接OpenRouter大模型、阿里云百炼生图API及微信官方接口,实现从内容创作到发布的自动化。重点包括:1)n8n微信节点安装配置;2)大模型API授权与提示词优化技巧;3)图片生成与格式转换处理;4)公众号接口授权注意事项;5)草稿自动生成参数设置要点。特别提醒首次配置时需关闭自动发布功能以检查效果,避免格式错误导致发布失败。该方案无需复杂编程,适合运营人员快速搭建自动化内容生产流程

Jacket0603的博客 1594

Joel Spolsky在耶鲁大学的演讲

Joel Spolsky是一个美国的软件工程师,他的网络日志“Joel谈软件”(Joel on Software)非常有名,读者人数可以排进全世界前100名。上个月28号,他回到母校耶鲁大学,与计算机系的学生座谈。他发表了一个演讲,回顾自己的人生经历,并总结了一些个人的体会。我读完他的演讲稿,很受触动,觉得他的人生体会非常具有启示性。这篇演讲非常长,分为三个部分(一、二、三)。我没有时间全

Ethan的博客 1245

UDS 诊断 - CommunicationControl(通信控制)(0x28)服务 诊断

字节参数名称字节值#1CommunicationControl(通信控制)请求SID0x28#2#3communicationType(通信类型)#4nodeIdentificationNumer(节点标识符)(高位字节)controlType 为 0x04 或 0x05 时,使用该参数#5nodeIdentificationNumer(节点标识符)(低位字节)controlType 为 0x04 或 0x05 时,使用该参数。

耳朵东金子千的博客 1820

(一)激光线扫描-三维成像原理

激光线扫描是一种使用激光作为光源,通过特定的扫描设备(如光学镜头、电机驱动的镜头或电子扫描设备)将激光束引导到目标表面,并按照预定的路径进行扫描的技术。这种技术通常用于测量、检测、打印、切割等多种应用中。

FlyWine的博客 3630

Joel Spolsky在耶鲁的演讲无责任导读

Joel Spolsky在耶鲁的演讲无责任导读 By 刘未鹏(pongba)C++的罗浮宫(http://blog.youkuaiyun.com/pongba) 大嘴Joel最近在耶鲁作了场演讲,照例是诙谐尖锐,有趣有益,目前他的blog上放出了两部分。 因g9老大在TopLanguage上推荐,就一溜小跑去读了,读完了觉得很有意思,因为没有时间全文翻译,所以就总结了一下其中的要点

刘未鹏|C++的罗浮宫 1万+

EtherCAT主站SOEM -- 29 -- STM32F767-SOEM通过 CSP模式(周期同步位置模式)控制一个电机转圈圈

以上就是EtherCAT主站SOEM – 29 – STM32F767-SOEM通过 CSP模式(周期同步位置模式)控制一个电机转圈圈的内容。有不明白的地方欢迎留言;有建议欢迎留言,我后面编写文档好改进。创作不容,如果文档对您有帮助,记得给个赞。

常驻客栈的博客--嵌入式EtherCAT 2242

Joel Spolsky在耶鲁大学的演讲(下)

 Joel Spolsky在耶鲁大学的演讲(下)阮一峰 发表于 2007年12月14日 | 分类:首页 -> 档案 -> IT技术 (接着昨天的内容,继续讲Joel的故事。)虽然,维亚康母公司(Viacom)口头表示很重视互联网,但是,分配给程序员的工作间,总是很小的屋子,光线黯淡,而且还用搁板分割出小间,供三个人使用。经理们各自的办公室则完全不同,都有大玻璃窗,可以俯

flyduke的专栏 807

MFC 中实现 WebSocket 客户端以支持实时双向通信

3. **协议兼容**:若服务器使用 `wss://`(加密),需在 `lws_client_connect_info` 中配置 SSL 相关参数(`ssl_connection = LCCSCF_USE_SSL`)。- 编辑框(`m_editUrl`):输入 WebSocket 服务器地址(如 `ws://echo.websocket.events`)。2. 将编译后的库文件(`.lib`、`.dll`)和头文件路径添加到 MFC 项目中(项目属性 -> VC++ 目录)。// UI:服务器地址。

寒寒豆豆软件公司的博客 202

从一只龙虾到一支团队:OpenClaw 单 Bot 多 Agent 配置实践

单 Bot 多 Agent只有一个对外的聊天入口(飞书 Bot)内部有多个独立的 AI Agent,各司其职主 Agent(总指挥)负责接收任务并分配给子 Agent子 Agent 完成任务后将结果返回给主 Agent角色Agent ID职责使用场景🎯 总指挥main-agent统筹协调,任务分发接收所有用户请求✍️ 笔杆子内容创作公众号、博客、小红书🔬 参谋canmou深度研究竞品分析、市场调研📋 运营官operations运营管理邮件、日历、社交媒体。

Maynor的博客 1081

Joel Spolsky在耶鲁大学的演讲(上)

Joel Spolsky是一个美国的软件工程师,他的网络日志"Joel谈软件"(Joel on Software)非常有名,读者人数可以排进全世界前100名。 ...

ruanyf的博客 147

【我的Android进阶之旅】解决android应用使用android:persistent属性带来的系统Launcher应用必须重启设备才生效的问题,大幅度提升开发效率

一、问题描述 我们在开发系统级别应用,比如Launcher桌面的时候,会发现有个问题:每次Launcher修改完代码,重新编译之后,安装到android设备上之后,必须重启才会生效。否则就是使用了之前的Launcher版本的内容。而每次重启设备得一分钟左右,太慢了,太影响效率了! 1.1 痛点 每次更新完代码,重新安装之后,必须重启设备才会生效。效率太TM低了! 二、分析问题 经过一轮代码排查,最终发现是因为src\main\AndroidManifest.xml文件中,定义application使用了an

字节卷动 1713

Joel在耶鲁大学的演讲

Joel Spolsky是一个美国的软件工程师,他的网络日志"Joel谈软件"(Joel on Software)非常有名,读者人数可以排进全世界前100名。 上个月28号,他回到母校耶鲁大学,与计算机系的学生座谈。他发表了一个演讲,回顾自己的人生经历,并总结了一些个人的体会。 我读完他的演讲稿,很受触动,觉得他的人生体会非常具有启示性。这篇演讲非常长,分为三个部分(一、二、三)。下面是其中的...

weixin_33971977的博客 94

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

四路 CAN 转 4G 网关

SG‑CAN‑4G‑410 为**四路隔离 CAN 转 4G 工业网关**,把 CAN2.0A/B 报文封装成 TCP/UDP 报文,通过 4G 无线网络实现 CAN 总线远程监控、远程控制。四路 CAN 相互独立;以太网仅用于本地配置,不做业务数据传输;支持移动 / 联通 / 电信 4G 网络。

S2003120416的博客 166

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

【计算机网络】断点续传是怎么做到的:从 Range 请求到分片上传的完整机制

断点续传在下载侧靠的是 HTTP 现成的 Range 协议,Content-Range 保证偏移对得上,If-Range 防止文件变更导致的错误拼接;上传侧没有标准,需要自己设计 init/part/complete 三段式交互,核心是让服务端记住“哪些块已经收下”,从而把失败粒度从整个文件降到单个分片。 这套机制可以迁移到任何长耗时操作的设计上。判断方法很简单:先问失败粒度是多少。如果一次操作失败就得从头再来,那它迟早会在生产环境里出问题——传输、批量导入、数据迁移、长事务,都是同一个道理。把大操作切成

2503_94545876的博客 541

【Linux网络】TCP 服务器并发处理多客户端:从 fork 分发到双重 fork 彻底消灭僵尸进程

拆解 TCP 服务器并发演进链:fork 分发连接、SIGCHLD 循环回收僵尸、双重 fork 交孙进程给 init 收养,并给出模型选型与线上排错对照。

2301_78967866的博客 429

Linux 服务器性能排查手册(2026):CPU、内存、磁盘IO、网络四大瓶颈定位

iptables 四表五链模型、firewalld zone 信任级别、云安全组与主机防火墙的关系与优先级,避坑改了防火墙把自己挡在服务器外面的翻车事故。

2502_91473995的博客 323

AI 芯片片上网络 NoC 深度解析:flit、虚通道与拥塞控制如何决定 GPU/TPU/LPU 的算力利用率

AI芯片算力瓶颈不在FLOPS,而在片上网络(NoC)——数据搬运的能耗与延迟决定MFU上限。物理限制下,长线延迟不随工艺缩小,迫使NoC将全局布线拆为可流水的短链路;能量账显示,一跳传输耗能可达数十次乘加操作。拓扑选择直接影响性能:二维mesh虽布线可行,但均匀流量下每节点可用带宽按1/√N衰减,实测仅达标称值30%。虚通道、双网设计、静态调度(如Groq)等技术旨在突破此瓶颈。从总线到crossbar再到多跳NoC,本质是用延迟换可行性。未来趋势:专用通路(脉动阵列)、晶圆级集成(Cerebras)、跨

我的博客 92

台湾行情数据API接入教程

想用程序获取台股行情,很多人第一步会搜“台股资料 API 推荐”,结果发现选择不少:证交所有免费接口,Yahoo Finance 也能查,券商还有自己的 API。真正写代码时才发现,有的数据只到收盘,有的延迟 20 分钟,有的必须先开户。本文先梳理台湾行情数据的几种获取渠道,再用 Python 从零搭一个可以运行的台股数据脚本:查代码清单、取实时报价和盘口、拉历史K线、做复权、用 WebSocket 接收实时推送,最后结合台积电 ADR 和新台币汇率计算跨市场溢价。

qq_34102871的博客 308

【基于 WebSocket 的多用户网页五子棋】—— 数据管理模块

但行好事,莫问前程

qq_42996461的博客 215

Qt网络编程实战指南:从底层Socket到现代异步架构的选型与避坑

本文梳理Qt网络编程的核心模块与演进路线,对比QTcpSocket与QNetworkAccessManager的使用边界,结合HTTP请求与TCP长连接的完整示例,说明信号槽、内存管理与事件循环的配合方式。重点记录连接池设计、证书校验、线程亲和性等实际开发中的关键决策点,帮助读者在C/S或跨平台项目中建立稳定的网络层基座。

2402_83344867的博客 299

从母钟到子钟:NTP 网络时钟系统架构与软件接口

本文从工程角度简要介绍公共场所的时间同步需求、NTP协议的定位,以及典型LED同步时钟的系统架构与硬件设计,以讯鹏科技4寸与5寸同步时钟为例。

SPZHCS的博客 164
上一篇: 使用FreeGrab 抓ITPub 的電子書
下一篇: yahoo发布了一款Flex皮肤,提供下载
zinking3
博客等级 码龄20年 262粉丝 215原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值