Profile cover photo
Profile photo
Van Hu
I am Van, I am a coder, also a reader.
I am Van, I am a coder, also a reader.

Van's posts

Post has shared content

Post has shared content
I was warmly surprised to see how many people responded to my Google+ post about Dennis Ritchie's untimely passing. His influence on the technical community was vast, and it's gratifying to see it recognized. When Steve Jobs died there was a wide lament - and well-deserved it was - but it's worth noting that the resurgence of Apple depended a great deal on Dennis's work with C and Unix.

The C programming language is quite old now, but still active and still very much in use. The Unix and Linux (and Mac OS X and I think even Windows) kernels are all C programs. The web browsers and major web servers are all in C or C++, and almost all of the rest of the Internet ecosystem is in C or a C-derived language (C++, Java), or a language whose implementation is in C or a C-derived language (Python, Ruby, etc.). C is also a common implementation language for network firmware. And on and on.

And that's just C.

Dennis was also half of the team that created Unix (the other half being Ken Thompson), which in some form or other (I include Linux) runs all the machines at Google's data centers and probably at most other server farms. Most web servers run above Unix kernels; most non-Microsoft web browsers run above Unix kernels in some form, even in many phones.

And speaking of phones, the software that runs the phone network is largely written in C.

But wait, there's more.

In the late 1970s, Dennis joined with Steve Johnson to port Unix to the Interdata. From this remove it's hard to see how radical the idea of a portable operating system was; back then OSes were mostly written in assembly language and were tightly coupled, both technically and by marketing, to specific computer brands. Unix, in the unusual (although not unique) position of being written in a "high-level language", could be made to run on a machine other than the PDP-11. Dennis and Steve seized the opportunity, and by the early 1980s, Unix had been ported by the not-yet-so-called open source community to essentially every mini-computer out there. That meant that if I wrote my program in C, it could run on almost every mini-computer out there. All of a sudden, the coupling between hardware and operating system was broken. Unix was the great equalizer, the driving force of the Nerd Spring that liberated programming from the grip of hardware manufacturers.

The hardware didn't matter any more, since it all ran Unix. And since it didn't matter, hardware fought with other hardware for dominance; the software was a given. Windows obviously played a role in the rise of the x86, but the Unix folks just capitalized on that. Cheap hardware meant cheap Unix installations; we all won. All that network development that started in the mid-80s happened on Unix, because that was the environment where the stuff that really mattered was done. If Unix hadn't been ported to the Interdata, the Internet, if it even existed, would be a very different place today.

I read in an obituary of Steve Jobs that Tim Berners-Lee did the first WWW development on a NeXT box, created by Jobs's company at the time. Well, you know what operating system ran on NeXTs, and what language.

Even in his modest way, I believe Dennis was very proud of his legacy. And rightfully so: few achieve a fraction as much.

So long, Dennis, and thanks for all the magic.

Post has attachment

Post has attachment

Post has attachment
Celebrating the legacy of Nelson Mandela.

Post has attachment
I defended against a #zergrush on Google Search.

Post has attachment

Post has shared content

其主要目的在于同步Google各种先进技术(包括Android、Chrome、Google Map、HTML5、Golang等),并进行推广与应用,促进本地社区成员的交流。

DevFest活动除设置有吸引力的主题分享,还有互动参与环节,同时会有部分Google I/O设备展示,对于Google技术开发者、爱好者都是不可错过的体验机会。

时间:11月9日 周六 13:00开始,分为下午技术分享及可选参加的晚上编码练习、互动游戏环节

13:00 – 13:30  签到
13:30 – 13:45  《杭州GDG及DevFest简介》 -- +谢海雁
13:50 – 14:35  《Android程序插件化的原理和实践》 -- 马云峰
14:40 – 15:25  《唯一值得学的前端MVC框架 -- Angular JS》 -- +Mark Huang
15:30 – 16:00  中场休息、合影及茶歇
16:00 – 16:45  《Golang Sevice Api及SDK自动生成》 -- +孙凤民
16:50 – 17:35  《艺术环境中的编程与实践》 -- 中国美术学院跨媒体学院(指导老师 +崔鲁海)
17:40 – 18:30  自由交流、体验、娱乐(Chrome Pixel、3D打印机、XBox等)及晚上简餐(需报名参与晚上环节)

18:30 – 20:00 晚上编码练习、互动游戏环节(二选一)
Golang 编码练习解题 -- +张燎原,该Golang活动将视参与者情况涉及到部分或所有以下领域:结对开发(pair-programming)、测试驱动开发(TDD)、代码重构(refactoring)等。

免费报名链接 成功参与DevFest活动的成员,每位能得到一件谷歌提供的定制版T恤、Android玩偶及若干精美徽章,参与晚上互动环节,更有机会获得额外纪念品。

有问题请联系 hangzhou.gdg#gmail,谢谢你的关注。

Post has attachment

Post has attachment
Packages Managing Tool for Go and Gophers

Some quick usages of ASCII.IO terminal screencast about Pak:
Common Usage:
Partial Matching:
Pak Don't Hurt Unclean Packages:

Pak is version control tool developed by The Plant and has been used for almost half a year. Publishing here is to server as an inspiration for go communities.

Pak support Git and Mercurial (SVN and Bazarre will be supported soon), cross package dependences, runtime checking, etc.

Hope you enjoy it.
Wait while more posts are being loaded