Thoughts about “The Box”


Recently I read the book The Box, which was recommended by Bill Gates in hiswebsite. Bill Gates stated that you “won’t look at a cargo ship in quite the same way again” after reading it. I couldn’t agree more. In the 1990s, Mr Gates was always plotted as an evil dictator of a software empire and as a tyrant who cracked down his enemies, like the Netscape, ruthlessly. I was also somehow influenced by those plots for a time. However, after getting more familiar with his experience, especially after reading some of his books and articles, I do think that those disesteems are unfair in many ways. Mr Gates is undoubtedly one of the most visionary and benevolent person in our planet.

I have read his book the road ahead before, which was an extraordinary book. In that book, Mr Gates pointed out a bright future of technology society. Many of his imaginations, such as portable PCs, wireless Internet, smart TVs, have already become reality, despite that Microsoft’s role in the process, sadly, is not as significant as it should be.

Rather than predicting the future, The box is talking about history, if that is long enough to be qualified for. Both books, however, give us tastes of how technology influenced an industry and people’s life. Here are some of my thoughts about this book on “boxes”.

Influence of Containerization

The paradigm of business is heavily influenced by transport costs. When transport costs are high, manufacturers’ main concern is to locate near their customers, even if this requires undesirably small plants or high operating costs. As transportation costs decline relative to other costs, manufacturers can relocate first domestically, and then internationally, to reduce other costs.

The immediate result of containerization is a sharp decline of international transport costs, which results in an unprecedented process of globalization.

Globalization is not a new phenomenon. The world economy became highly integrated in the nineteenth century, which caused by a variety of reasons. First, the Napoleonic wars united Europe, at least temporarily, and reduced tariffs and other trade barriers for many years. Second, due to the industrial revolution, in particular the steamship invented by Robert Fulton, the ocean freight rates fell 70 percents between 1840 and 1910. Third, new technologies also significantly reduced the time required for worldwide information exchange. For example, Telegraph, the nineteenth-center counterpart of the Internet, gave people in one location current information about prices in another. Traders found it easy to increase imports whenever domestic prices rose or domestic wages got out of hand.

The globalization caused by containership is quite different than its predecessor. While the globalization in the nineteenth century was mostly the globalization of final products, the globalization in the late twentieth century is the globalization of the production process itself. Because of this globalization process, a new type of industrial paradigm, so-called just-in-time manufacturing, becomes possible.

Asia, in particular East Asia, benefits the most from the just-in-time manufacturing, which partly contributes to the prosperity in the region. Now it is quite typical for American businesses to succeed without get their hand dirty at all by “low-level” hardware business. What they need to do is to design and innovate, and then send the specification to Original Equipment Manufacturers (OEMs) in East Asia. For example, when an American consumer purchases an iphone on the Apple’s official website, the iphone will be shipped from factories in China directly rather from some warehouse in the United States. It would not be possible if the shipping cost is high.

Why Asia? The most important reason is the abundance of cheap and skilled labors in this region. Technology companies in Silicon Valley are more inclined to outsource their labor-intensive departments, like hard-ware manufacturing departments, to China and Malaysia, than set up a factory in Rocky mountain states. The human labor in U.S. is just too expensive, plus that the transport cost between Rocky mountains and Silicon Valley is also higher than that between Shanghai and Silicon Valley.

Containerization has made geographical disadvantage a more serious problem. For those regions with geographical disadvantages, like inland cities, local business may survive in case that international transport cost is high because people in the coastal area don’t have much option. However, the life of those inland businesses becomes much hard as the container age comes. They can be easily replaced by competitors overseas. For developing countries, this situation is more serious because coastal cities will absorb all the foreign investment and markets.

If you look at the Guangdong and the Jiangxi provinces in a map of China, you will realize that the two provinces are adjacent to each other, despite that Guangdong is coastal while Jiangxi is completely landlocked. However, the GDP per capita of Guangdong is almost twice that of Jiangxi. Shipping cost is the key reason for the difference. As reported by the World Bank in 2002, transporting a container from a central city to a port cost three times as much as shipping it from the port to America. As a result, Guandong quickly joined the globalization process and became an essential part of the global supply chain. At the same time, Jiangxi couldn’t enjoy such benefits. I am afraid that this gap will still increase in the near future. The only way to reduce is gap is to increase the investment of land-based and inland waters-based logistic system, which hopefully will bring down the inland transport cost. Although some improvements have been made in the past years, there is still a long way to go. Only when shipping cost in inland regions is comparable than that of coastal regions, different regions in China can develop in a balanced way.

Influence of Deregulations

In the history of containerization, U.S. government played an interesting role.

According to U.S. laws, the Interstate Commerce Commission (ICC) regulated the rates and services of both trains and interstates trucks. The regulation of ICC made the market quite fragmented. To make it worse, laws also prohibited corporations to be involved in both land-based and sea-based transportations. The initial goals of these regulations was to prevent monopoly and ensure a fair price for consumers. However, the lawmakers wouldn’t image their goodwills turned out to be a huge obstacle for advancement.

When Malcom Mclean, the father of containership, decided to explore the idea of containerization. U.S. regulations would not allow a trucking company to own a ship line. As a result, 1955, McLean sold his trucking company for $25 million and purchased the Pan-Atlantic Steamship Company and the Gulf Florida Terminal Company from Waterman Steamship Corporation.

The basic concept of the container was that cargo could move seamlessly among trains, trucks and ships. However this goal was not achieved 20 years after McLean invented the first container. The main reason is the government regulations. Although the regulations successfully prevent monopolies, it also made the cooperation among shipping, railway and trucking companies very hard because they cannot develop a long-term contract and trust between each other.

Deregulation, which dates back to bankruptcy of the Penn Central railway, changed everything. In two separate laws passed in 1980, Congress freed interstate truckers to carry almost anything almost anywhere at whatever rates they could negotiate. The ICC lost its role approving rail rates, except for a few commodities. As a result, truck and railcars that had often been forced to return empty were able to be filled in in the return trip. Besides, railroads and their customers could negotiate long-term contracts setting rates. After deregulation, the biggest customers can enjoy larger discount. 41,021 contracts were signed in fives years after the deregulation and by 1988 U.S. shippers saved nearly one-sixth of their total land freight bill.

The ability to sign long-term contracts gave railroads incentive to adapt containership. On average, it costs four cents to ship one ton of containerized freight one mil by rail in 1982 and that cost dropped 40 percent over the next six years, adjusted for inflation.

This is an interesting case in which the goodwills of governments turned out to be harmful. The right way for a government to encourage competition is not to legislate laws, but to keep itself away from the market in most of the time. The key issue of governments is that they are usually too slow to adjust themselves to the market due to bureaucracy, so the best way is to let the market speaks itself. I don’t mean that the government is completely useless, but the role of should be kept minimal. In other words, we should apply the Occam’s Razor to governmental regulations—“Entities should not be multiplied unnecessarily.”


Jing Conan Wang

Vim script to add user-defined words to spell file automatically

" A function to search for words after {marker_text} and add them to local
" spell file
function! AutoSpellGoodWords(marker_text)
    call cursor(1, 1)
    " let l:marker_text = '"%%  LocalWords:'
    let l:marker_text = a:marker_text

    let l:lines = []
    let l:goodwords_start = search(l:marker_text, 'cW')
    let l:line = getline(l:goodwords_start)
    let l:header = strpart(l:line, 0, strlen(l:marker_text))
    if l:header == l:marker_text
        call insert(l:lines, l:line)

    while l:goodwords_start > 0
        let l:goodwords_start = search(l:marker_text, 'W')
        if l:goodwords_start == 0
        let l:line = getline(l:goodwords_start)
        let l:header = strpart(l:line, 0, strlen(l:marker_text))
        if l:header == l:marker_text
            call insert(l:lines, l:line)

    let l:words = []
    for l:line in l:lines
        let l:line = strpart(l:line, strlen(l:marker_text) + 1)
        call extend(l:words, split(l:line))
    for l:word in l:words
        silent execute ':spellgood! ' . l:word

autocmd FileType tex call AutoSpellGoodWords('%%  LocalWords:')

Tutorial to migrate from Bitbucket to Github

Install mercurial and hg-git

sudo apt-get install mercurial

sudo apt-get install mercurial-git

Note: The version of mercurial should be >= 2.8.

If the default version of mercurial in apt-get is < 2.8. You can install using pip

sudo pip install mercurial –upgrade

You need to create a repo on

Clone your bitbucket repo

hg clone hg-repo

Convert hg repo to git repo

Hg-Git can also be used to convert a Mercurial repository to Git. You can use a local repository or a remote repository accessed via SSH, HTTP or HTTPS. Use the following commands to convert the repository

$ mkdir git-repo; cd git-repo; git init; cd ..
$ cd  hg-repo
$ hg bookmarks hg
$ hg push ../git-repo

The hg bookmark is necessary to prevent problems as otherwise hg-git pushes to the currently checked out branch confusing Git. This will create a branch named hg in the Git repository. To get the changes in master use the following command (only necessary in the first run, later just use git merge or rebase).

$ cd git-repo
$ git checkout -b master hg

Push the Git repo to Github Server

cd git-repo;

git remote add origin <github-url>;

git push -u origin master;

cd ..;

I also write a script to do this automatically.


《摩根财团》读后感 续


古人云:“观一叶落而知天下秋”, 摩根财团的历史就是整个现代金融业的这篇叶子。摩根财团长期是现代金融业的典范,学习摩根的历史就是回顾这个现代金融业的建立和完善过程。现代金融业伴随着铁路和电气工业的建立和建立, 在风云变幻的两次大战期间重组和洗牌, 然后在战后建立了以美国为中心的金融新秩序。 《摩根财团》毫无疑问是介绍这段历史的一本不可多得的巨著。作者 Ron Chernow 将摩根的历史分为三个时代:1 领主时代, 2 外交时代 和 3 赌场时代。 每个时代有它鲜明的特征。 从作者严谨的叙述中, 我们可以大略看出金融业的发展的三个大的趋势。 这篇读后感就围绕三个时代和三个趋势展开。









外交时代 (1913-1948)

外交时代的国际环境发生了巨大的变化。两次大战的爆发瓦解了三百年的世界殖民体系并摧毁了日不落帝国。美国经济趁势成为了世界领头羊。在这嘈杂的三十多年里,欧洲动乱复兴,然后再动乱再复兴。在整个过程中, 美国的经济干预和援助至关重要,而私人银行充当了先锋。


杰克摩根温和的性格和改革银行的措施使得摩根财团适应了外交时代的需要。一支强有力的,有主见的合伙人队伍被组建起来去执行政府的使命。 起初摩根财团把英国的资本吸引到美国来,从而壮大了实力。 在外交时代,这一关系完全颠倒过来了, 伦敦的商人银行由于受到英国政府战后对外贷款的限制,活动范围很小。 相比之下,华尔街的触手伸向了世界各地。


一战导致了持续百年的金本位制度终结。参战各国滥发纸币进行战备,停止了黄金和本国货币的兑换。在1925年英国尝试恢复金本位。 不久之后,英国的煤炭纺织品,钢材等在国际市场上面失去了竞争力, 恢复金本位不但没有振兴英国, 反而加速了它的衰落。 1931年9月21日,英国再次告别了金本位。随后美国也放弃了金本位。金本位的问题以后还要经历多次反复,但是无数事实表明黄金已不再适合作为一种标准通货。事实上,现代社会可能根本就不需要什么标准通货。


当欧洲经济饱受战争蹂躏的时候,美国经济越过了竞争对手, 并实现了大量的贸易顺差,但是美国仍有一半人口生活在农村。二十世纪二十年代美国大牛市。 史无前例的货币流动性激增。 本斯特朗大幅度提高利率,造成了此后持续几年的紧缩性环境,货币大量涌向金融市场。 股票和债券市场大涨。 但是华尔街的繁荣对于农民来说是虚假的。农业和石油工业都很不乐观。而由于对于农业和石油部门贷款的坏帐, 小城镇的银行以每天两个的速度倒闭。与之相反,但是城市金融和房地产双临佳境。过剩的现金被看成是财富的象征,而不是生产性投资机会缩减的不详之兆。


随后1929年的大萧条导致了世界经济的大衰退。华尔街被认定为需要对此负责任。 罗斯福总统在1933年6月16日签署了《格拉斯–斯蒂格尔》法案。这部法案对于美国影响深远。 从这时起,银行或者从事贷款和接受存款,或者从事证券买卖,但不能同时从事两者。 1935年9月日,摩根财团正式分家。哈罗德斯坦利, 哈里摩根,和维摩尤因出来建立了摩根士丹利。



这个时代的最主要特征是领主时代建立的绅士银行家法则开始崩溃。 关系银行业寿终正寝, 华尔街比前任何时候都更加冷酷,吝啬。在赌场时代, 蓝筹公司不再需要银行家为他们开健康证明, 他们的资信往往胜过他们的银行。投资银行无法保持与客户的长期排他性的合作关系,竞争性的招标成为了主流。


一个标志性的事件是IBM在1979年的融资。 当时IBM 需要融资10亿美金进行下一代计算机的研发, 要求摩根士丹利接受所罗门公司作为联合主干行来承担这笔业务。这对于具有悠久绅士银行家传统的摩根来说是不能接受的。 摩根要求获得独家发行权, 但是IBM不作丝毫的让步, 仍按计划由所罗门公司牵头这次发行。随后不久,一些投资银行边开始大肆强夺摩根士丹利的其他客户, 打破了绅士银行家的准则。 此后IBM的大部分业务都转向了所罗门公司。 而摩根士丹利则放下架子。同意与别的公司分担通用电器信贷公司, 杜邦公司以及坦尼可公司的债券发行业务。 在激烈的竞争下,摩根财团的三家衍生公司也开始分道扬镳。


80年代疯狂的杠杆收购和敌意兼并是这个时代最鲜明的注脚。数以千家的公司被兼并和收购, 被收购的公司往往担上沉重的负债, 而投资银行则可以拿到丰厚的酬劳。




现代金融业的第一个趋势是信用体系的完善。 在皮博迪和朱尼厄斯的时代,美国的处境和今天的中国有点类似,都是一个快速的崛起新兴的大国,但是仍缺乏健全的金融系统和信用体系。美国的经济发展高度依赖于英国的资本供给,1833年的一个议员曾说,“美国货币的晴雨表挂在伦敦证券交易大厅里面。”  今天的中国也是如此,绝大多数的高科技企业都是在美国上市,中国的经济发展很大程度上是依赖与美国资本市场来提供资本。皮博迪当时的主营业务是在英国经销美国债券,大概就相当与今天的承销中概股。但很有趣的是,那个时代的美国赖账情况很严重。当时皮博迪承销的主要是政府债券,议员为了竞选,通常会许诺减税,这样导致政府没有足够资金偿债,同时赖账还可以迎合排外势力,赢得部分的选票。最终的结果是,美国许多的州都赖账,这严重影响了美国债券承销商在国际上面的声誉。所以美国健全的信用体系也不是一天建成的。这和许多中概股在美国作假被停牌,影响中国公司的信誉是类似的。类似的问题在每一个发展中的经济中都会出现,也会随着金融体系的逐步完善而逐渐得到解决。









事实上这个趋势不仅仅出来在银行业,也出现在工业中。十九世纪的工业发展造就了洛克菲勒家族,范德比尔特家族这样的家族性垄断巨头。但是到二十世纪五十年代,在美国的经济里, 家庭所有权的这种力量逐渐消失。 威廉范德比尔特曾经有纽约中央铁路的87%的股份, 但是他的后代哈罗德范德比尔特持有的股份,还不到剩余股份的1%。



The Personal Analytics of My Evernotes

Jing Conan Wang

Aug. 09, 2013

I started to use Evernote since around 2011. Recently the number of notes in my Evernote account has surpassed 5000. To celebrate this milestone, I wrote some python scripts to visualize my evernotes.

The easiest way to get the Evernote data out is to use the official clients. Both the windows and the Mac Evernote official client can export data in ENEX format. Unfortunately, the development team of Evernote decides not to develop any linux client in the near future, which makes the data export in linux very hard. It may be possible to get the data out using the cloud APIs. But requesting an API key is too cumbersome for this small project.

Although it is the most convenient way, exporting data in ENEX format still has two pitfalls:

First, ENEX is a customized xml format, and it contains some characters, particularly ‘&nbsp’, that cannot be correctly recognized by lxml module in python. To address it, I wrote a script ( to convert ENEX files to regular JSON files.

Second, ENEX file doesn’t provide information about the notebook a note belongs to. Fortunately, the Windows client provides a command-line program ENScript.exe that can export notebooks separately. I wrote a powershell script (export_evernote.ps1) to export the notebooks into a folder, in which each ENEX file corresponds to a notebook. Again I used to convert the ENEX files in the folder into JSON files.

Each note is associated with two timestamps–1. the ‘Created’ time and 2. the last ‘Updated’ time.

Here is a plot of the number of notes I created in each year. Considering that only 7 months is covered, the total number for 2013 should be around 2000. From the plot, I was the most addicted to Evernote in 2012, during which I created over 2500 notes.

The following plot is the number of evernotes I updated in each year. The number of ‘updated’ notes was high in 2011, whereas the number is decreasing over the past two years. In 2011 and the first half of 2012,  I used a Mac Evernote client in my Macbook pro. After that, I switched to a Thinkpad x230 with Ubuntu 12.04, in which the only usable option is the web application ( Updating notes using Mac client is much easier than the web application, which may explain my decrease of note updates.

The following plot visualizes the number of notes I created in every month. There is a welcome note whose ‘created’ timestamp is Oct. 19, 2009. However, I signed up Evernote in Jan. 7, 2011. Why the ‘created’ time for this welcome note is Oct. 19, 2009? I guess this date is the birthdate of Evernote, and the ‘created’ timestamp was deliberately set as the birthdate of Evernote.

The following figure is the number of ‘updated’ notes in every month. Obviously, I suddenly stopped to update notes from May 2015, which matches the time I switched from Mac to Ubuntu. The updates were somewhat recovered since Mar. 2013, because I began to use Evernote as myGTD engines. I need to update my task lists and checklists.

The following two plots visualize the ‘created’ notes and ‘updated’ notes in week level. The number of ‘created’ and ‘updated’ notes during the 12th-14th weeks of 2012 are soaring.  During this time, I was busily preparing for the application of Google Summer of Code 2012. The efforts paid off, I was finally selected into Google Summer of Code 2012 in which I had a very wonderful experience.

Evernote provides a feature to tag notes. For each note, you can add as many tags as you like. Usually I don’t use this feature manually, but when I clip notes from my mobile phone and RSS reader, which I often do, tags will be added automatically. The following figure shows the time of tagged notes. The x-axis is the ‘created’ time and each y-coordinate corresponds to a tag.

I was heavily addicted to Google Reader (GR) when it was alive. In 2011, I often read GR in my iphone using MobileRSS, which added ‘MobileRSS’ tags when I clipped articles. Later, I was irritated when the app asked me to pay the second time after I upgraded to a newer IOS, ignoring that I had already purchased a pro version. As a result, I switched to Newsfy, which does not add tags automatically. After GR was shutted down in July, I switched to feedly together with many other disappointed GR users.

From 2012, I started to add tags manually. One missing feature in Evernote is to assign importance to each note like gmail. I emulated this feature by tag notes with @TOREAD, @✭ and @✭✭.

In Evernote, a notebook is a collection of individual notes. The following figure shows a stacked area graph of numbers of noted I created in each month. I started to use notebook feature systematically after April 2012. Before April, 2012, I mostly used evernote as an archive of web pages and dump most of notes into one notebook.  ‘Programming’ is one of the first notebooks I created, which was divided into more sophisticated categories later.

The ‘cybersecurity’ notebook, which is related to my research, dominated in May and the beginning of June of 2012. From May, 2012 to Aug 2012, my focus shifted to ‘GSOC’ , ‘Programming’ and ‘Python’, which dued to my participation of Google Summer of Code 2012.

There is a visible gap in Sep, 2012 when I had a vacation to recover from demanding work in the summer (that summer was very busy for me). I am a fan of classical music. Even in this busy summer, there were still a considerably large number of ‘Music’ notes. The ‘GSOC’ notebook disappeared after the google summer of code officially ended at Sep. 2012. Considering the number of created notes, the four notebooks I used the most are ‘Python’, ‘Linux’, ‘Music’, and ‘others’. The ‘others’ notebook was created in June, 2013 to store miscellaneous notes.

The following figure shows the number of ‘updated’ notes in every month for each notebook. An interesting observation is that few notes in the ‘others’ notebook is updated despite its considerable large size. This observation indicates that I rarely review the notes in ‘others’ notebook. This bad habit should be improved in the future.

The following two figures show the number of ‘created’ and ‘updated’ notes in every week for each notebook. For most notebooks, although the number of ‘created’ notes doesn’t change significantly, the number of ‘updated’ notes increased rapidly in the 12th week of 2013. The reason is that I categorized many notes manually in that week.

The blog is inspired by Stephen Wolfram’s blog: The Personal Analytics of My Life.

I fully agree with Mr. Wolfram that personal data is very useful and everyone should log their own life as much as possible. Evernote is a good tool to achieve this goal.

Surely there is more information I can dig out. But the information in this article provides a good starting point.  The source code of this project is available at:

If you are interested, you can try to analyze your Evernote data using these codes. Any suggestion, bugfix or improvement is welcomed.



在我看来,经济分为存量和增量两个部分。 存量对应的是技术已经完全成熟的产业,或者是资源垄断性的产业。这样的产业需要的是通过垄断来降低内耗,比如电力行业,汽车行业。 增量对应于正在蓬勃发展的产业,我们这个时代最明显的就是计算机和互联网工业。 中国的国营企业虽大,但是都是资源垄断性行业,或者政策垄断性行业。 而比较活跃的领域,国营经济都难以站住脚。所以有个说法是国营稳住存量,私营经济激发增量。

中国的私营企业发展模式不同于美国。 美国的企业终极发展目标是超大型企业,最终通过全行业垄断来提高生产效率。 中国的私营企业,更加适合走蚂蚁雄兵的中小型企业道路。 在现有的政策体制下, 一旦一个产业变得成熟,从增量变为存量,国营企业的政策性优势就会变得明显, 大型私营企业难以与之争风。


1. 中国劳动力过剩。 大型企业解决就业的能力不如中小型企业。 企业本身有自身的管理瓶颈, 一个超大型企业所雇佣的员工也不过数万。 世界500强全在中国也解决不了中国的就业问题。

2. 中国人生活方式的不同。 美国人的生活方式是高度“单一”的。 从波士顿到洛杉矶, 人们的生活方式完全一样。 开一样的汽车,吃一样的汉堡,买一样的衣服, 整个美国从东海岸到西海岸的差异甚至小于中国两个相邻的县城。 美国幅原之辽阔,并不亚于中国,美国拥有世界各地的移民,远多于中国的56个民族,那为什么会出现这样的情况呢?

这首先是因为集约型大工业需要广阔而单一的市场。 大工业时代普遍的商业模式是通过降价(甚至降至低于成本)来吸引顾客, 在资金链条断裂之前做到一定规模。在标准化的生产和物流下,随着规模的扩大,成本会逐渐降低,最终将低到有利可图。 沃尔玛的天天平价,Amazon免费物流,Google的各项免费服务, 说穿了都是这个模式。 规模在这个过程中至关重要。美国公司不会生产不能上规模的产品, 美国人民也买不到个性化的产品。 久而久之,美国人的生活方式就被大工业的熨斗熨成了平板一块。 另一个重要的因素是美国的历史较短,新移民由于在适应新的社会的过程中生活方式已经发生了改变,对于改变生活方式的抵触较少。

而与之相比较,中国人的生活方式就复杂而精致的多。 中国人,每到一个城市旅游,绝对少不了品尝当地的小吃。 而小吃的生意方式是美国的商人无法理解的。 夫妻开的小吃店,每天最多招待一百用户,怎么赚钱? 另一个例子,中国很多的手工艺品,比如绣品,工序多达数百,每年的销量也不多,这样的产品,是没有办法放到流水线上去的。 这样的情况下, 市场不可能由少数几家大型公司来垄断,而只能由小企业,个体户来满足。


有一个看法是,小企业因为缺乏规模效应会降低社会的生产效率,美国的大工业模式才是发展的唯一正途。 这就是为什么小煤矿都被整合成了大煤矿。 而中国的个体户十年来锐减三分之一。 确实小企业何个体户有自己的弊病, 比如生产单元过细导致信息流通不畅, 又比如企业过小导致没有能力负担改进生产工业的投资。 但是中国的国情决定了最为可行的道路是将这些小企业何个体户整合成为蚂蚁雄兵。 在中国,最有可能出现的大型私营企业不是面对消费者的企业,而是帮助小企业进行整合的企业。

这就是阿里有这么大的想象空间的原因。 美国的Amazon远比ebay成功, 自发性的个人集市在美国这个单一市场上难敌集约化的Amazon。 而在中国,情况就完全不同,淘宝上的数百万个体商户构成了一个有机的生态系统,这个系统是中国私营经济的微缩版。 阿里目前的目光,还是放在已经在互联网上的商户上。 但是一个事实是, 中国绝大多数小企业和个体户,还和互联网没有什么联系。 让这些中小企业何个体户们跟上信息时代的节奏, 将会是一个非常波澜壮阔的事业。


【开源项目暑期实习】谷歌编程之夏 Honeynet Project

谷歌编程之夏Google Summer of Code是由谷歌赞助的针对开源社区的暑期活动。学生可以通过这个项目参与开源软件的开发,并且得到5000美金的报酬。对于学生来说是个很好的经历。







Honeynet Project 是一个活跃的网络安全的开源社区。今年Honeynet Project也继续参加谷歌编程之夏。有兴趣的同学可以访问下面的网站,选择一个感兴趣的idea,然后和对应project的mentor联系,或在honeynet maillist中询问

如果有同学对于network malware simulation感兴趣的,可以与我联系。我的email是




Get every new post delivered to your Inbox.

Join 32 other followers