内心的平静就是财富本身-Cell组件-用友华表的由来-T君
时至今日,Cell组件仍是应用广泛的商业报表组件
作者:人生三毒
编者注:本文作者人生三毒为知名网站及网页游戏公司创始人,此前曾为IT类媒体资深编辑,见证了中国互联网早期的发展。
认识T君之前先认识的是他的软件,那是在1997年末的一个晚上,我和大学同学在家用15.5的Modem上网寻找资源并编写我们的软件。若干年之后,我才知道当时我们正在被大学老师利用来完成他的商业软件。而在那个时刻,我们只是面对这些程序世界的挑战而废寝忘食。
我们在网站上发现了一个中间件Cell组件。利用Cell组件,只需要简单的一些编程知识,就能完成一个像Excel一样的软件,这对我们来说,几乎就是原始人用上机关枪。而这个软件就是当时在世界领域内,也是绝对原创和领先的。
所以在我成为媒体编辑去北京出差,我便联络了偶像Cell软件的作者T君见面。T君当时已经在创业了,由于Cell组件在海外的畅销,T君的收入刚刚能养活一个4-5人团队,而且还在友谊宾馆里面租了一个小小的房间作为办公室。闲聊下来,T君居然是用友第一代软件UFO核心程序员,那个时候用友已经崭露头角,而他却和我们现在的年轻人一样,开始了自己创业的梦想。T君身材高大,声音洪亮,出身贫寒,有远大志向,他是我所见过的所有创业者中,对成功最充满渴求的人。所以,他对Cell组件在1998年一年十几万的海外收入并不满意,那个时候北京的程序员都聚集在中关村附近,那个时候大家贫富差距并不明显,今天的江湖大佬也在草莽,顶好的炫耀也就是买了套房。
2001年5月18日,用友公司上市,上市首日股价超过100元。天天报道硅谷收购故事的我开玩笑给T君打电话,说你老板上市了,按照美国的惯例,他应该会收购软件公司。你可以找他谈谈。也是短短的一周,T君电话告诉我,用友2000万收购了他和他的Cell组件。T君谈到当时的细节:饭桌上,王文京让他报价。他一口说了2000万,没有还价,王文京就答应了。T君谈到此,表现得有些遗憾,大概这一刻,他认为他的作品出售价格低。
T君拿到了钱,却并没有去计较Cell组件的未来,他将得到钱的一部分分给了他的创业团队,大概每人有几十万,这在2001年,望京房价还是 4000平方米的时代,无疑是一笔巨款。用友软件当时的战略规划是企业软件,所以T君去成立了一家新的面对企业的软件公司,以Cell组件开发类似今天谷歌企业办公套件的全在线软件。随后的故事和很多创业者一样,在不成熟的时机做不成熟的市场用从来没有做过企业市场的T君,4年下来,黯然从用友离职。在随后的若干年里面,我每次去北京,T君总是换着越来越高级的汽车来接我,给我演示他所从事的从家庭影院的硬件销售、到其他我甚至无法记起的新生意。我一度以为T君已经实现财富自由后离开了IT界,离开了我所熟悉的产业。
T君说,他的财富来得非常诡异,在用友收购之后的2001-2003年间,他的钱大部分用来贷款购买了北京的房产,当时房地产商是给他各种优惠条件求他购买。所以诸君应该可以猜想他随着这个时代的地产爆发而获得的财富增值。直到2005年,T君告诉我他要重新回到IT领域,他组建了一个团队开发 MP3播放器,在3年之后,又将团队转向开发网页浏览器,T君凭借着良好的技术功底,用7-8个人,居然也在市场上做得小有名气。可是和现在那些已经武装到牙齿的IT企业如腾讯、百度、360、金山相比,10年前技术决定一切的模式已经苍白无力,T君的产品总是面临着被收购或者风投的命运。T君,这一次拒绝了任何的投资,因为他有足够的钱来支持他活下来,但是T君总是在变化方向,因为他没有办法让他的产品一骑绝尘。
去年年底,T君请我去和他们团队讲课,说要进入游戏领域,面对从来没有做过游戏的T君,我的话是:如果你做好了2-3年无所成就,亏掉500万的准备,只有10%的成功概率,你依旧可以试一下。T君依然坚定的准备进入,因为这是一个数百亿的产业。
相望江湖这么多年,T君总是努力创业,并想证明自己应该和现在的江湖大佬在同一个位置,大概可以用在被用友收购之后,T君给我讲的一个故事来代表他的心境:王文京生活非常简朴,没有豪车也没有别墅,有一次在用友中高层的外出会议中,他问王文京他的成就感来自哪里,王文京看着正在湖面上的100多位中高层说,我让他们成为了百万富翁。
T君还在第一线创业着,他在寻找实现了财富自由之后的自我实现,而这个过程往往比追寻财富更艰难。
“内心的平静就是财富本身!”---《约翰克里斯多夫》
内心的平静就是财富本身-Cell组件-用友华表的由来-T君的更多相关文章
- 用友华表Cell一些用法小结(cs.net版本)
//从Color类型得到RGB类型,也可以用ColorTranslator.ToOle()方法 public int GetRGBFromColor(Color color) { byte r = c ...
- 关于使用用友华表Cell控件按需打印行的方法
分享下只需一个cll文件按需打印行的觉得最好的方式:1.cell文件要打印行的地方最好不要全删了,留一行,设置好单元格样式(字体.对齐方式.折行自适应等),后面会省一些代码: 2.使用CopyRang ...
- React组件设计
React组件设计 组件分类 展示组件和容器组件 展示组件 容器组件 关注事物的展示 关注事物如何工作 可能包含展示和容器组件,并且一般会有DOM标签和css样式 可能包含展示和容器组件,并且不会有D ...
- React组件设计(转)
React组件设计 组件分类 展示组件和容器组件 展示组件 容器组件 关注事物的展示 关注事物如何工作 可能包含展示和容器组件,并且一般会有DOM标签和css样式 可能包含展示和容器组件,并且不会有D ...
- React组件设计技巧
React组件设计 组件分类 展示组件和容器组件 展示组件 容器组件 关注事物的展示 关注事物如何工作 可能包含展示和容器组件,并且一般会有DOM标签和css样式 可能包含展示和容器组件,并且不会有D ...
- MUI开发APP,scroll组件,运用到区域滚动
最近在开发APP的过程中,遇到一个问题,就是内容有一个固定的头部和底部. 头部就是我们常用的header了,底部的话,就放置一个button,用来提交页面数据或者进入下一个页面等,效果 ...
- 如果简单的记录,就可以为这个世界创造更多的财富,那么还有什么理由不去写博客呢? — 读<<黑客与画家>> 有感
上一次博文发文时间是2016.1.15,7个月已经过去了.最近读了一本<>的书,对我触动挺大的!里面有关于技术趋势的探讨,也有关于人生和财富的思考! 开始更新iOS122的文章的初衷是,聚 ...
- vue-cli3.0 flexible&px2rem 解决第三方ui组件库样式问题
背景 在项目使用lib-flexible还有postcss-px2rem实现移动端适配,当我们引入第三方的样式组件库,发现一个问题.那些组件库的样式都变小了. 问题原因 变小的主要原因是第三库 css ...
- 组件化和 React
一,对组件化的理解 1,组件的封装 -视图 -数据 -变化逻辑(数据驱动视图变化) 例: import React, { Component } from 'react'; import List f ...
随机推荐
- Using LACP with a vSphere Distributed Switch 5.1
Using LACP with a vSphere Distributed Switch 5.1 by Chris Wahl on Oct 15th, 2012 | 6,347 views One o ...
- 如何导入外部Git仓库到中国源代码托管平台(Git@OSC)
git clone --bare http://git.rcrtm.com/git/dianli.git git clone --mirror https://git.oschina.net/cand ...
- Qt通过ODBC连接SQL Server2008实践总结
Qt连接数据库的方式很多,这里说明一种最常用也是最实用的方式,因为这种方式在Windows上开发程序使用起来非常方便,并且也是远程连接数据库所需要用到的方式. 前提工作: 在Win7下安装了SQL S ...
- Linux内核配置:定制配置选项
很多嵌入式开发人员都需要在Linux内核中添加一些特性,以支持特别的定制硬件. ARM架构的顶层Kconfig文件中,可以看到一个名为System Type的菜单项.在ARM system type提 ...
- reStructuredText - 一个比MarkDown更好用的标记语言
文档和教程 http://docutils.sourceforge.net/rst.html http://zh-sphinx-doc.readthedocs.io/en/latest/rest.ht ...
- 算法笔记_222:串中取3个不重复字母(Java)
目录 1 问题描述 2 解决方案 1 问题描述 从标准输入读入一个由字母构成的串(不大于30个字符). 从该串中取出3个不重复的字符,求所有的取法. 取出的字符,要求按字母升序排列成一个串. 不同 ...
- ReactNative踩坑日志——页面跳转之——Undefined is not an Object(evaluating this2.props.navigation.navigate)
页面跳转时,报 Undefined is not an Object(evaluating this2.props.navigation.navigate) 出错原因:在一个页面组件中调用了另一个组 ...
- cocos2d-js Shader系列2:在cc.Sprite上使用Shader(黑白、灰度、造旧效果)
在Sprite中使用Shader做特殊的颜色处理比较简单,只需要把Shader程序绑定到Sprite上即可: sprite.shaderProgram = alphaTestShader; Cocos ...
- Xamarin.Android其他类型的服务
一.前言 前面我们已经学了关于服务的很多知识,但是对于真实的开发那些远远不够,通过这节我们将学习其他类型的服务,比如前台服务.IntentService和消息服务.下面我们开始进入正题. 二.前台服务 ...
- 关于jsp发起请求加载datagrid数据(草稿)
$(document).ready(function (){ var refNo = '${refNo}'; $('#caAbnDetail').datagrid('load',{ refNo:ref ...