2010年3月2日星期二

linux下类似Windows下的Everything的快速文件名搜索工具mlocate

Everything是我用过的最好的软件工具之一,"快、小、绿色",是我在windows下最留恋的软件。因为有它,我甚至可以不用totalcmd来文件夹切换查找操作了。
可惜的是linux下面并没有如此好用的软件,而locate查找软件的速度我实在不敢恭维,而且还建了那么大的文件索引列表,而索引更新又是如此之慢,令人诟病。
还好,有mlocate稍微缓解我内心的不快,速度比locate和slocate都要快,但还远不及everything,凑活用吧,已经是目前linux下面最差强人意的文件搜索工具了。


mlocate
About

mlocate is a new locate implementation. The 'm' stands for "merging":
updatedb reuses the existing database to avoid rereading most of the file
system, which makes updatedb faster and does not trash the system caches
as much.

The locate(1) utility is intended to be completely compatible to slocate.
It also attempts to be compatible to GNU locate, when it does not conflict
with slocate compatibility.
Availability

mlocate tarballs are available at fedorahosted.org.

Current version: 0.22.1

mlocate is also included in Fedora Core 6 and later.
Bugs

Please consider reporting the bug to your distribution's bug tracking
system.

Otherwise, report bugs at https://fedorahosted.org/mlocate/. Bug reports
with patches are especially welcome.
Performance

These measurements were obtained with mlocate-0.12 and slocate-2.7. Each
time, a computer was booted into single-user mode and after one updatedb
run data was collected using slabtop and free. The measurement method is
admittedly crude, but I think the numbers represent reality quite well.
Run: real user system dentry inode buffers cached
slocate 1m32.84 0.704 2.045 134337 170778 85972 8268
mlocate, 1st 1m11.65 0.214 0.908 17766 15642 78452 21340
mlocate, 2nd 37.64 0.105 0.289 17776 15639 33996 21336

real, user, system
as reported by time
dentry, inode
number of active objects in dentrycache and ext3inode_cache, as reported
by slabtop
buffers, cached
size of disk buffers and page cache, as reported by free


mlocate has two rows because the first run needs to scan the whole file
system, while the subsequent runs can reuse most of the original database.

2010年3月1日星期一

交换两个值,不用临时变量

例如:a=3,即11(2);b=4,即100(2)。
想将a和b的值互换,可以用以下赋值语句实现:
a=a∧b;
b=b∧a;
a=a∧b;
a=011(2)
(∧)b=100(2)
a=111(2)(a∧b的结果,a已变成7)
(∧)b=100(2)
b=011(2)(b∧a的结果,b已变成3)
(∧)a=111(2)


a=100(2)(a∧b的结果,a已变成4)
等效于以下两步:
① 执行前两个赋值语句:"a=a∧b;"和"b=b∧a;"相当于b=b∧(a∧b)。
② 再执行第三个赋值语句:
a=a∧b。由于a的值等于(a∧b),b的值等于(b∧a∧b),

因此,相当于a=a∧b∧b∧a∧b,即a的值等于a∧a∧b∧b∧b,等于b。
很神奇吧!
c语言源代码:
#include <stdio.h>
main()
{
int a=3;
int b = 4;
a=a^b;
b=b^a;
a=a^b;
printf("a=%d b=%d",a,b);
}

wget 下载整个网站,或者特定目录

需要下载某个目录下面的所有文件。命令如下

wget -c -r -np -k -L -p www.xxx.org/pub/path/

在下载时。有用到外部域名的图片或连接。如果需要同时下载就要用-H参数。

wget -np -nH -r --span-hosts www.xxx.org/pub/path/

-c 断点续传
-r 递归下载,下载指定网页某一目录下(包括子目录)的所有文件
-nd 递归下载时不创建一层一层的目录,把所有的文件下载到当前目录
-np 递归下载时不搜索上层目录,如wget -c -r www.xxx.org/pub/path/
没有加参数-np,就会同时下载path的上一级目录pub下的其它文件
-k 将绝对链接转为相对链接,下载整个站点后脱机浏览网页,最好加上这个参数
-L 递归时不进入其它主机,如wget -c -r www.xxx.org/
如果网站内有一个这样的链接:
www.yyy.org,不加参数-L,就会像大火烧山一样,会递归下载www.yyy.org网站
-p 下载网页所需的所有文件,如图片等
-A 指定要下载的文件样式列表,多个样式用逗号分隔
-i 后面跟一个文件,文件内指明要下载的URL

还有其他的用法,我从网上搜索的,也一并写上来,方便以后自己使用。

wget的常见用法

wget的使用格式
Usage: wget [OPTION]… [URL]…

* 用wget做站点镜像:
wget -r -p -np -k http://dsec.pku.edu.cn/~usr_name/
# 或者
wget -m http://www.tldp.org/LDP/abs/html/

* 在不稳定的网络上下载一个部分下载的文件,以及在空闲时段下载
wget -t 0 -w 31 -c http://dsec.pku.edu.cn/BBC.avi -o down.log &
# 或者从filelist读入要下载的文件列表
wget -t 0 -w 31 -c -B ftp://dsec.pku.edu.cn/linuxsoft -i filelist.txt -o
down.log &

上面的代码还可以用来在网络比较空闲的时段进行下载。我的用法是:在mozilla中将不方便当时下载的URL链接拷贝到内存中然后粘贴到文件filelist.txt中,在晚上要出去系统前执行上面代码的第二条。

* 使用代理下载
wget -Y on -p -k https://sourceforge.net/projects/wvware/

代理可以在环境变量或wgetrc文件中设定

# 在环境变量中设定代理
export PROXY=http://211.90.168.94:8080/
# 在~/.wgetrc中设定代理
http_proxy = http://proxy.yoyodyne.com:18023/
ftp_proxy = http://proxy.yoyodyne.com:18023/

wget各种选项分类列表

* 启动

-V, –version 显示wget的版本后退出
-h, –help 打印语法帮助
-b, –background 启动后转入后台执行
-e, –execute=COMMAND
执行`.wgetrc'格式的命令,wgetrc格式参见/etc/wgetrc或~/.wgetrc

* 记录和输入文件

-o, –output-file=FILE 把记录写到FILE文件中
-a, –append-output=FILE 把记录追加到FILE文件中
-d, –debug 打印调试输出
-q, –quiet 安静模式(没有输出)
-v, –verbose 冗长模式(这是缺省设置)
-nv, –non-verbose 关掉冗长模式,但不是安静模式
-i, –input-file=FILE 下载在FILE文件中出现的URLs
-F, –force-html 把输入文件当作HTML格式文件对待
-B, –base=URL 将URL作为在-F -i参数指定的文件中出现的相对链接的前缀
–sslcertfile=FILE 可选客户端证书
–sslcertkey=KEYFILE 可选客户端证书的KEYFILE
–egd-file=FILE 指定EGD socket的文件名

* 下载

–bind-address=ADDRESS
指定本地使用地址(主机名或IP,当本地有多个IP或名字时使用)
-t, –tries=NUMBER 设定最大尝试链接次数(0 表示无限制).
-O –output-document=FILE 把文档写到FILE文件中
-nc, –no-clobber 不要覆盖存在的文件或使用.#前缀
-c, –continue 接着下载没下载完的文件
–progress=TYPE 设定进程条标记
-N, –timestamping 不要重新下载文件除非比本地文件新
-S, –server-response 打印服务器的回应
–spider 不下载任何东西
-T, –timeout=SECONDS 设定响应超时的秒数
-w, –wait=SECONDS 两次尝试之间间隔SECONDS秒
–waitretry=SECONDS 在重新链接之间等待1…SECONDS秒
–random-wait 在下载之间等待0…2*WAIT秒
-Y, –proxy=on/off 打开或关闭代理
-Q, –quota=NUMBER 设置下载的容量限制
–limit-rate=RATE 限定下载输率

* 目录

-nd –no-directories 不创建目录
-x, –force-directories 强制创建目录
-nH, –no-host-directories 不创建主机目录
-P, –directory-prefix=PREFIX 将文件保存到目录 PREFIX/…
–cut-dirs=NUMBER 忽略 NUMBER层远程目录

* HTTP 选项

–http-user=USER 设定HTTP用户名为 USER.
–http-passwd=PASS 设定http密码为 PASS.
-C, –cache=on/off 允许/不允许服务器端的数据缓存 (一般情况下允许).
-E, –html-extension 将所有text/html文档以.html扩展名保存
–ignore-length 忽略 `Content-Length'头域
–header=STRING 在headers中插入字符串 STRING
–proxy-user=USER 设定代理的用户名为 USER
–proxy-passwd=PASS 设定代理的密码为 PASS
–referer=URL 在HTTP请求中包含 `Referer: URL'头
-s, –save-headers 保存HTTP头到文件
-U, –user-agent=AGENT 设定代理的名称为 AGENT而不是 Wget/VERSION.
–no-http-keep-alive 关闭 HTTP活动链接 (永远链接).
–cookies=off 不使用 cookies.
–load-cookies=FILE 在开始会话前从文件 FILE中加载cookie
–save-cookies=FILE 在会话结束后将 cookies保存到 FILE文件中

* FTP 选项

-nr, –dont-remove-listing 不移走 `.listing'文件
-g, –glob=on/off 打开或关闭文件名的 globbing机制
–passive-ftp 使用被动传输模式 (缺省值).
–active-ftp 使用主动传输模式
–retr-symlinks 在递归的时候,将链接指向文件(而不是目录)

* 递归下载

-r, –recursive 递归下载--慎用!
-l, –level=NUMBER 最大递归深度 (inf 或 0 代表无穷).
–delete-after 在现在完毕后局部删除文件
-k, –convert-links 转换非相对链接为相对链接
-K, –backup-converted 在转换文件X之前,将之备份为 X.orig
-m, –mirror 等价于 -r -N -l inf -nr.
-p, –page-requisites 下载显示HTML文件的所有图片

* 递归下载中的包含和不包含(accept/reject)

-A, –accept=LIST 分号分隔的被接受扩展名的列表
-R, –reject=LIST 分号分隔的不被接受的扩展名的列表
-D, –domains=LIST 分号分隔的被接受域的列表
–exclude-domains=LIST 分号分隔的不被接受的域的列表
–follow-ftp 跟踪HTML文档中的FTP链接
–follow-tags=LIST 分号分隔的被跟踪的HTML标签的列表
-G, –ignore-tags=LIST 分号分隔的被忽略的HTML标签的列表
-H, –span-hosts 当递归时转到外部主机
-L, –relative 仅仅跟踪相对链接
-I, –include-directories=LIST 允许目录的列表
-X, –exclude-directories=LIST 不被包含目录的列表
-np, –no-parent 不要追溯到父目录

How To Install OpenOffice 3.2 In Ubuntu (.deb Download)

I initially wanted to wait for the PPA (OpenOffice Scribblers) to get
OpenOffice 3.2 but it seems that takes way too much time and I'm not going
to wait until Ubuntu Lucid Lynx (10.04) to install the latest OpenOffice
3.2 (even though Ubuntu uses OO-Go, an optimized version of OpenOffice),
so I decided to download and install OOo 3.2 on my Ubuntu Karmic from its
official website. The installation was very easy and fast so I wanted to
share the steps with any WebUpd8 readers who don't want to wait for the
PPA (which might take a long time) or Ubuntu Lucid to upgrade (well,
actually do a fresh install) to OpenOffice.org 3.2.


Before proceeding to the OpenOffice 3.2 installation (from its website),
please note that there are quite a few differences between this version of
OpenOffice.org and the OpenOffice.org version from the Ubuntu
repositories! Like I said above, Ubuntu uses an optimized version of
OpenOffice.org called OO-Go. Read more about OO-Go, HERE.

If you want to install Go-OO (from it's official website, not Ubuntu
repositories) 3.2 in Ubuntu, see: How To Install Go-OO 3.2 In Ubuntu Linux.

How to install OpenOffice 3.2 in Ubuntu

1. The first thing you need to do (very important) is completely remove
any OpenOffice packages you may have installed on your Ubuntu computer:
sudo apt-get remove openoffice*


2. Then, to download and install OpenOffice 3.2 in Ubuntu, simply copy &
paste the commands below in a terminal (what the commands do is download
the .tar.gz archive which includes Ubuntu .deb files, extract the files
and then install them all recursively):

Ubuntu 32bit:
wget
http://download.services.openoffice.org/files/stable/3.2.0/OOo_3.2.0_LinuxIntel_install_en-US_deb.tar.gz
tar -xvf OOo_3.2.0_LinuxIntel_install_en-US_deb.tar.gz
cd OOO320_m12_native_packed-1_en-US.9483/
sudo dpkg -iR DEBS/

Ubuntu 64bit:
wget
http://download.services.openoffice.org/files/stable/3.2.0/OOo_3.2.0_LinuxX86-64_install_en-US_deb.tar.gz
tar -xvf OOo_3.2.0_LinuxX86-64_install_en-US_deb.tar.gz
cd OOO320_m12_native_packed-1_en-US.9483/
sudo dpkg -iR DEBS/


If you want to manually download OpenOffice 3.2 .debs, get the archive
from HERE (chose either "Linux 32-bit DEB" or "Linux 64-bit DEB" depending
on your Ubuntu installed architecture).

Please note that the commands above are customized for the US language
OpenOffice.org. If you download OpenOffice 3.2 for a different language,
adjust the language in the file names in the commands!

How To Install Go-OO 3.2 In Ubuntu

Like you probably know, there are no official OpenOffice.org packages in
the Ubuntu repositories for the latest version (3.2) and also no packages
in the OpenOffice.org Scribblers PPA (for now at least).

We wrote about installing OpenOffice 3.2 in Ubuntu from it's official
website but that's not the same OpenOffice.org as the one in the Ubuntu
repositories because Ubuntu uses Go-OO, an optimized version of
OpenOffice. Well, here is how to install this optimized version called
Go-OO. You can learn more about Go-OO @ it's official website.


Before installing, please note:
Even though Ubuntu uses Go-OO, the version you will install by following
the instructions in this post is still not 100% the same as the one in the
Ubuntu repositories (obviously)
There are no Go-OO .deb files for Ubuntu so you will have to convert the
.rpm files to .deb. This is not an exactly proper way of installing Go-OO,
but it will work fine anyway.


This being said, you can proceed to installing Go-OO 3.2 in Ubuntu:


1. Remove the OpenOffice.org packages:

sudo apt-get remove openoffice.org*


2. Install alien to convert the .rpm files to .deb:

sudo apt-get install alien


3. Download Go-OO 3.2:
mkdir go-oo && cd go-oo
wget http://go-oo.org/download/download-go-oo.py
sudo chmod +x download-go-oo.py
./download-go-oo.py

The commands above will create a folder called "go-oo" and download a
script from the Go-OO website which will fetch all the Go-OO 3.2 .rpm
files for you.

Before running the last command above, please note that you can customize
it to download packages for a certain architecture or localisation
(language):

Usage: ./download-go-oo.py [--localization=] [--distribution=]
[--system= version=]

Options:
--localization - language to download (default: en_US)
--distribution - distribution for which the menus are dowloaded
(default: freedesktop)
--system - architecture to dowloaded (default: linux-i586)
--version - version to download (default: 3.2)

Supported languages:
af, ar, as, be, bg, bn, bn_BD, bn_IN, bo, br, brx, bs, by, ca, cs, cy, da,
de, dgo, dz, el, en_GB, en_US, en_ZA, eo, es, et, eu, fa, fi, fr, ga, gd,
gl, gu, gu_IN, he, hi, hr, hu, is, it, ja, ka, kid, kk, km, kn, ko, kok,
ks, ku, ky, lo, lt, lv, mai, mk, ml, mn, mni, mr, ms, my, nb, ne, nl, nn,
nr, ns, oc, om, or, pa, pap, pl, ps, pt, pt_BR, ro, ru, rw, sa, sat, sc,
sd, sh, si, sk, sl, sr, ss, st, sv, sw, sw_TZ, ta, te, tg, th, ti, tn, tr,
ts, ug, uk, ur, uz, ve, vi, xh, zh_CN, zh_TW, zu

Supported distributions:
freedesktop, mandriva, redhat, suse

Supported systems:
linux-i586, linux-x86, linux-x86_64


For Ubuntu 32bit and English language, you can just run the script as the
default options are enough.


4. Install Go-OO 3.2 in Ubuntu

You can either directly install the .rpm files using alien, or convert the
.rpm files to .deb so you can directly distribute them, etc.

method 1 -> directly install Go-OO 3.2
sudo alien -i *.rpm


method 2 -> convert the Go-OO 3.2 packages to .deb and then install them:
sudo alien -d *.rpm
sudo dpkg -i *.deb

2010年2月28日星期日

周立功是谁?

周立功是广州一家单片机公司的老总,公司名字就叫周立功。同时他著书多部,成为高校教材,也是上海某大学的名誉教授。
:"

20年多前,我没考上大学,只读了技工学校,家庭条件并不好。毕业之后,因为就业等现实问题和压力,开始思考出路。偶然的一次机会,也就是81年,从杂志上了解到苹果公司创立的成功,两个年轻人在车库做出了单板机,我觉得很有意思,认为自己也可以做,从此内心萌发了创业的念头,梦想成为像他们那样的人,认为有机会改变自己的命运。
在改变命运的想法下,不断拜师学习,从事自动化电路设计,结果不到一年的时间做成了自控方面的单板机,随后又不断有成功的案例。年轻人都是有梦想的,当时想法还比较原始,就是要成为行业的领头羊或者领导品牌,或是这个行业知名的教授。
但是经过这么多年,发现人不应该只是为了赚钱,还要为产业做出一定的贡献,像我现在写了很多软件都是公开的,不仅仅是为了赚钱,"为钱生存是走不远的"。我的人生目标不是要赚多少钱,而是要开心,要有意思。如果赚了钱又很开心,还能帮着别人就很好,"帮助客户成功、发财——自己才能成功"。
公司不一定要做大,一定要做强,满足客户需求。我们是以这种模式来运营的,所以我们自认为是"隐形冠军"。我们的客户是第一我们就是第一,而且我们不用接触终端,风险不高。我们做任何产品目标都要求是NO.1,这是一个理念。即便不是第一,也要是一流的,不能完全为了赚钱,不然三流都不是。
人生第一个转折点,就是通过Design
in真正明白两点:第一,与客户的关系是"双赢"的,就是不图眼前利益,很多人明白但是很难这样做。第二,现在公司都讲"科技以人为本",这个道理很多人知道,但同样也很难与客户去分享。我们要把很简单的道理真正做到"以人为本,双赢"。善待客户,善待员工,我强迫自己踏踏实实去做,到后来就成为一种习惯和必然。我们公司从99年到现在跳槽的员工只有5个,炒他的话他会哭,为什么?是因为我们帮助员工成功。现在他们对我很有信心,因为我能够和他们分享,当然团队就很稳定,他的工作态度也好,因为他们有成功的欲望。显然这是最重要的一点,一方面有"品德、修养",另一方面关键是要有成功的欲望。都是为理想而奋斗的人,那么这里就是一个成功的环境。

两点成功要素:a,我经过研究发现公司一定要专注,"专注力量,成就梦想",十个银牌不如一个金牌。从那个时候开始我就做单片机的嵌入式系统,别的不做,专注在这里面耕耘,因为你的资源肯定不如很多跨国公司,打不过他们还会被他们吃掉;b
我们公司注重基础研究,要搞嵌入式技术平台。平台规范化、模块化,以平台取胜。所以我们的产品也越做越好,品牌也好,对客户很专注,书也顺利出版,很多方面,这样去做平台才建立起来。所以我认为未来公司的发展要以"平台"为基础。

当然我针对这个市场做出了开发板,但别人也有供应开发板,客户怎么会买你的呢?你怎么通过开发板的芯片市场提升你的品牌呢?怎么体现你是最强的呢?我认为要分析对方优势和劣势在哪里,优势:人少做得很快,但是他们的团队没有足够的人手,足够的资金,没有足够丰富的经验,肯定要出问题,他们没有这个意识。我们有什么最好的?第一,我们的服务,公司组织专人做服务,第二,有配套的资料,我有写书出版,虽然是赔钱的,不过先赔后赚,是长远利益嘛,如果大学生都读了你的书,是未来培养了你的客户群。第三,他们需要从网上下载软件,也是不简单的,做linux或者中间件
driver,可想而知他们要搞懂也是很难的。他搞不懂怎么服务他的客户呢,客户得不到好的服务。我们怎么办,我们是花时间写软件,写软件全部都是原创的,自主版权的。然后把设计思想公开一本本出版,让学生了解。同时让原创人员来服务我的客户,有问题有bug我帮你改。这是我比别人强的地方。第四,这些都是新东西,他们也没有经验,不懂得如何深入浅出,用通俗易懂的语言用好的案例,循序渐进的解释这些道理,让别人快速学会并学以致用。他们没有这些经验,而我们有十几年的经验,服务客户的经验和创业的经验。
我和任何其它公司都不一样,不仅仅是销售芯片,技术支持,还创造知识,出版图书,做solution,帮客户做模板和开发工具,销售各种各样的模组,那么这个价值链上每一个点我都能取利的,他们只能做到一个点。我拥有的庞大客户群还为我带来产业链上多点利润,客户就会多次购买我的产品,多次都来享受我的服务,多次利用各种机会提出我们的不足,我们就有机会帮助每个客户实现改进。我所带来的利润远远不仅仅是一点开发板的利润,带动经济效益,还有很好的[url=]社会[/url]效益。多个产业链上的利润联合在一起才是利润的最大化。从1,USB器件-2,USB
JAVA软件,服务客户-3,做模组-4,做开发板-5,开发工具-6,方案。

大学生读我们的书,把图书选为大学教材,并有试验指导,有教学参考书、解决方案,每一步都做得很好。现在我们的书是教材,那么3年以后呢,5年以后呢,那么多学生就是我们庞大的客户群,我只要1%都不得了。我觉得这也是推广品牌最好的办法。它不是做很多广告做出来的,中国创造中国制造不是打一两次广告做出来的,而是一个长期而艰苦的历程。从这些方面发展企业和公司文化,"专注力量,成就梦想",你的行为是否符合公司的口号和企业文化,一个公司可以说成就你我,但行为、结果、每一步是否相符。所以我们现在一直坚持的一个原则就是"什么是对手做不到的。"只有对手做不到的,你才有价值,你也可以把开发板做到很廉价,卖到更便宜,但是它没有最好的配套资料,没有最好的案例,没有免费的团队免费服务它,我们是每一个点上全心全意,这些就是对手做不到的。对手就是做开发板,软件不一定写一本书,写了一本书也不一定能坚持一年两年三年,长期到出版社出书。我们每年都要出5~6本以上。

我认为发展一条新的产品线有两点原则:a
技术门槛不要太低,今天还没有做就知道明天卖什么价钱,不要做不到一年就开始打价格战,b
我还认为要做中小批量的,技术含量很高的,投入时间很长,要投入足够的优秀人才,技术要有难度,而且是大企业不屑于做的东西,这样你能够活的很愉快。
企业靠什么发展,还是靠原来的design
in,薄利多销,与别人分享。所以我要寻求长期发展,也不是轻易挑选客户,要双方合作双赢。最好的技术和最好的合作伙伴去合作,让最好的人赚钱,这一点很重要。
工程师最大的误区是从技术角度看市场,从技术角度看销售,我认为这是一个误区。他认为技术好一定要卖个好价钱,以技术角度看市场,所以往往做出来的东西不是客户最满意的,价格也不满意,而且产品外观、价格、工艺结构不满足需求,他只追求技术第一。他认为产品是个装饰品,技术很好,他认为差不多了。不光是技术,产品外观、包装、工艺结构差不多就可以了,有钱赚了,没有更远大理想,所以往往产品只能够用。中国人买最可靠的产品都是高价从老外手里买过来的,最便宜的就是买我们自己的。所以应该是我们不仅是比他卖的便宜,质量甚至要做到比他更好,只有这样才能够打败他。有技术力量、观念、经验,这样才能打到他的国家去,平起平坐,去和他叫板,卖一个好价钱,我认为是可以的。
讲一个题外话,现在到处抗日,抵制日货,科学其实是没有国界的。不仅仅要打败日本人,还要打败你的竞争对手,"什么是对手做不到的。"我经常给员工讲,一个部门里面两个人,你要想在其中胜出,你也要想什么是对手做不到的,你的能力是隔壁桌的同事都有的,他什么都超过你,你不能在公司生存。如果做到各个方面都不差于他那你就是一个优秀的人才。一个人、企业、国家莫不是如此。现在学日本人的技术,反过来比他更强。你也可以占领他的市场,你说你不用他们的产品,我觉得很狭隘。我认为要学习别人的长处,为我所用,看看什么是日本做不到的,你什么地方比他强,要分析:优势、劣势、机会在哪里各个方面。我做企业这么多年,一个企业不仅要追求企业利润最大化,这是企业最根本目标,第二要使员工有发展、有机会,第三是赚了钱要回馈社会,对产业行业有贡献。
中国产业最薄弱在研发,产业成本可以很低。我分析一下薄弱的原因在哪里:第一,老板本身不是技术专家,不知道在哪里深入投入、投入多少人员资金,需要什么样的人才,他不懂,因此不成功。懂的人呢,不一定有很好的管理经验,他也不是主要领导,有职业风险。中国还有一个特点是失败了就要下台,一旦失败就给换。所以说,他有能力想投入,一他本身怕失败,第二可能没有人相信他,第三一旦失败后果可想而知。中国人就会想多一事不如少一事,稳稳当当,稳健发展,儒家思想。现在有好的环境,好的机会,何必去冒险?所以为什么说创业者往往容易成功,是因为往往创业者是专家,是一步一步走过来的,他对投入上的想法和别人不一样。中国很多大企业大多没有流程、制度是表面的,不是靠流程化来保证企业运作,每个环节都有折扣,投入不到位。如果我是李东生,我不是现在做手机,而是五年前六年前开始做手机做design。作为TCL、联想这么大的企业不做手机难道是周立功做吗,我认为他们没有远见,不敢真正投入研发,什么叫快,不是渠道、贸易、组装,那是低层次的品牌宣传,应是研发更快。等国家发放牌照之后从韩国买板来组装、修改开发,利润都让给别人了,如果5、10年前开始研发那才是真正叫快,才能立于不败之地,我觉得这才是具备了远见。所以说为什么很多中国企业没有研发,没有远见所以永远尝不到研发的甜头,不会有决心可持续投入去研发,不敢承担研发风险,没有尝到甜头,一旦尝到了就会可持续发展地投入。研发是一个企业可持续发展的源泉。
"一个产品的成功不仅仅是技术的成功,而是系统性成功"。现在很多工程师认为有好的技术就能成功,不见得。不是你有一个好的软件就能成功的,这里[url=]面包[/url]括系统调研、规划、设计、工艺、结构、广告、策划、投资、系统服务,是一个系统工程,不是一个环节。所以过去多年前说有一个好的idea就能成功打天下,但这个时代已经一去不复返了。我说到团队、系统也是这个原因。
认为做事也是做人,把自己做好推销出去,就不愁产品卖不掉。
我们需要创新,更需要向成功的人学习,是用成功的方法做事,成功者的模式做事。很多企业和个人都是自己的方法做事当然不成功,用成功的方法做事当然要成功,而且要持之以恒、专心做。当然也要有所为有所不为。适合与否,自己的长处在哪里,发挥你的市场,从新的市场新的角度看最适合你的。有很多行业很赚钱但你去做就会亏,因为你没有分析适不适合你做,你的长处怎么样。
我觉得周立功未来的模式是一个集销售、服务、解决方案、模组、开发工具一揽子解决方案的供应商。因为现在国内很少有人从头到尾全部都做的,包括图书创作。当然这个一揽子解决方案是基于嵌入式软件平台的。这是周立功公司的定位。如果以后还有很好的技术或很好的产品的话,那么以后肯定进行拆分,把成熟产品作为事业部独立出去,成立新的公司。周立功公司的定位始终是很清晰的。
我们的目标就是做到嵌入式系统的NO.1。一个人一个企业如果没有目标感,你想做马马虎虎挣些钱,那么你可能三流企业都作不到,如果是一流企业,就要一切按照目标努力,也是成功的。也不能说只有第一才是成功的。所有方面都是这样的,人才也是这样看待的,没有理由做不好。
我还在学MBA,把一些好的经验拿来用,先相信别人,因为你没有经验。先把它的经验照搬,固定下来,如果适合就继续,不适合慢慢修改,直到修改到适合企业的发展。但这个方法也不是一成不变的,因为企业发展到一定阶段企业文化是不一样的。小企业求生存,到一定程度后要有企业文化,规模不等运营方法也不一样,中小型公司就是靠备现货,反应快、便捷、上门服务。公司发展到一定规模后,中小客户将不再做,因为面太广,太多,需要很多人服务,付出的精力很大,开薪水开支很大,不足以支撑大企业运营,进入资本营运了。大公司靠放款,进行资本运作,还靠物流和大客户。所以大公司和中小公司的运作模式方法完全不一样。大公司讲究覆盖,中小客户要求判断力,备货(尽快交货),比较好的价钱等等各个方面来适应他,这是大公司做不到的,他一年计划性很强。小公司就靠判断力,靠经验、能力、眼光,科学的经验去冒险做库存,没有吃准就惨了,资金链断裂,所以小公司一般都不会赊款,小公司靠转得快。
这个行业发展有特点,过去是定型发展,现在呈扇形了。比如Philips,原厂他处于在扇区中央,原点位置。客户在扇面上,贸易商在里面一层,代理商和design
house在中间,代理商更接近原点。Philiphs(上游供应商)具有核心竞争力,而且越靠近原点能力越强,越是利润集中点,竞争力越强。全球的intel和微软就是站在原点,你要计算机要微处理器就要买,所以他们的竞争力是最强的。最后分销网络到亚洲,这个扇形不断扩大扩大,到全球消费,你的全球化能力、扇形能力是最强的。所以ARROW能力就很强,拿到代理权给全球市场分销,反正可以拿到一个好价钱拿到那个市场去卖。所以整个市场控制能力强。所以现在看你竞争能力强不强,主要看你的扇区能力强不强。你的销售能力、技术能力,我觉得价值链、商业模式就体现于此。你的竞争力越强,你就越靠近原点。为什么?上游要依赖你呀。所以未来你的事业是否有前途,要看你"什么是对手做不到的,什么是上游做不到的,什么是大代理做不到的",这就是本地分销商的出路。不是纯粹哪一种模式,而是你强在什么地方,是不是你必须的,现在很多国内公司也有外包业务的。

不断开发新客户,同时照顾老客户(这种销售成本最低),围绕单片机的每个价值点。满足客户需求,过去客户free,现在要注册,再用好的技术来服务,获取合理的利润。周立功的游戏规则就是开发板+低价。
CEO的两件事:a什么是对手做不到的,b什么是客户最想要的。C什么是员工最想要的。
一个人在30岁以前要有一个知识圈,前瞻性的眼光,有信用,跟名师不会入错行,一个人在社会上形成信用很重要。"机会为有准备的人。"就是在打基础

为丰田带来灾难的成本控制专家 – 渡边昭捷

2月24日,就"脚踏门"问题丰田公司总裁丰田章男在美国的听证会上再次致歉,打破了日企道歉记录。然而,究其根本,日本业界对这位被媒体戏称为"道歉男"的总裁颇为同情,认为他不过是为人背黑锅而已,真正要为丰田出问题承担责任的,应该是前任总裁渡边昭捷。

丰田公司第十代总裁渡辺捷昭,1942年出生于日本爱知县,毕业于庆应大学,1964年进入丰田公司。早年的渡边并不受重用,一度被分配改善员工食堂财政状况的任务。渡边把这个别人不屑做的工作做得有声有色
–
他独辟蹊径,请来营养专家对员工倒入泔水桶中的剩饭进行分析,从而确定哪些食品可以从员工的盒饭中取消。这一做法让丰田的员工食堂扭亏为盈,也为渡边带来了后来担任丰田董事长的奥田硕的赏识,从此青云直上。渡边2001年起担任丰田公司负实际运营责任的副总裁,2005年正式担任总裁,是日本业界的传奇人物。以"拧干毛巾里的最后一滴水"的座右铭被称为日本最出色的成本杀手之一。

在渡边负责丰田公司业务的时间里,这位喜欢听音乐的企业家曾经创造了一个又一个奇迹。

2000年,他在丰田公司开始负责成本核算,誓言在三年间将丰田所用零件的成本降低30%,并且真的在三年间为丰田公司节省成本约1兆日元。这一令人不可思议的目标,居然被他实现了!随着他担任社长,又促进丰田以同样指标但价格低于竞争对手的汽车取得更大市场份额。2009年,丰田终于超过美国通用汽车,成为世界最大的汽车生产厂商。从这个角度来说,渡边的功绩应该被写入丰田的发展史。

然而,由于渡边的管理风格,其辉煌的背后,却蕴含着极大的危机。

渡边对于成本极致压缩的追求,导致丰田所属各级企业陷入锱铢必较的状态。有些丰田所属生产厂甚至在员工所用饮水机上划线,规定员工一次饮水的上限。这样的措施对企业员工的士气颇有影响。因此,当丰田公司在2009年第一次出现赤字的时候,很多早有积怨的丰田员工纷纷跑到总部门前示威,要求渡边下台,向丰田家族"大政奉还"。2009年,渡边被迫辞去总裁职务,转任董事会副会长的闲职。

日本经济学界认为渡边在创造一个个奇迹的同时,至少犯了三大错误 –

第一,
为了压缩成本,渡边当政时代,在丰田公司内部盛行"服务加班"。这是一种日本传统企业流行的做法,即员工"自愿"以义务劳动的方式为企业加班,但不索取任何费用,也不做任何记录。日本传统企业家认为这代表了员工对企业的忠诚和视企业为家的精神。尽管这种做法并不为所有员工所喜欢,但员工为了保住饭碗大多不得不"自愿"执行。同时,丰田所获得的利润,大量被用于设备投资,但员工的工资涨幅很小。这种企业虽然发展,但员工不能从中获得应得利益的做法,大伤员工士气,也破坏了丰田的团队精神。

第二,
由于过于注重压缩成本,并追求以尽可能低的代价占领最大份额的市场,导致丰田大量使用低层次供货商,对产品质量的控制下降。据调查分析,丰田公司"脚踏门"的元凶部件,正是按照压缩成本模式在美国寻找廉价供货商制造的。成本被压缩,产品质量自然难以保障。而为了进一步降低成本,渡边又建立了尽可能在更多车型上使用相同部件的原则。这样的做法导致了一个部件导致多个车型同时出现问题。

第三,
在"脚踏门"问题上采取掩耳盗铃的政策,未做及时处理。事实上,在渡边完成三年节约成本一兆的奇迹背后,丰田公司2004年被迫召回190万辆有问题的车辆,也创造了返修记录。大约是为了避免出现又一次大规模返修影响丰田公司的形象,丰田公司在脚踏门事件发生以后,连续数年采取敷衍搪塞的态度,始终不肯正面面对,不但没有及时召回出事车辆,抚慰受害者,而且根本未做技术上的全面整改。以至于当盖子捂不住的时候,"脚踏门"问题已经大到无法收拾。这也是业界人士说丰田章男是为渡边当替罪羊的原因。

这些问题渡边昭捷不是没有看到。2008年,在接受采访时,他也曾认真谈到过:"不但要追求数量,更要追求质量上的世界第一。""没有优质就没有成长"。但是为时已晚,已经形成的管理风格难以在短时间内改变。到渡边辞职的时候,丰田的问题已经不是可以轻易解决的了。

丰田公司的员工提起渡边昭捷,大多一方面赞赏他的魄力和能力,另一方面,又感叹他的刻薄寡恩。例如,同样是喜欢深入一线,渡边昭捷和丰田章男的风格完全不同,丰田章男深入一线是为了了解技术细节,而渡边昭捷总结自己深入一线的原因是自己到一线,会带动下面的干部也到一线,在最近的距离上督率员工工作。这显然让一线员工更加感到压力
– 没有人喜欢自己干活时老板就坐在身后的。

渡边昭捷的得意之处是用数字"无情"地管理企业,这造成了他的成功。但冷酷无情,单纯地依靠数字进行管理,也带来了丰田的危机。拧干了最后一滴水,也拧干了员工最后的忠诚和对公司的感情。鲁庄公对曹刿谈到自己敢于和齐国开战的理由时曾经说,他对待国民无论大事小事,"必以情"。在今天这个几乎任何事情都可以用数字管理的时代,渡边昭捷的教训,也许在提醒着企业家们
– 智商固然重要,若是没有情商辅助,哪怕是传奇人物也难逃失败的命运。