1 / 3
Caption Text
2 / 3
Caption Two
3 / 3
Caption Three margin testing

Sunday, August 29, 2010

开源史上最成功的八个开源产品

http://forum.jobbole.com/entry.php/179

[发表人]: [发表时间]:2010-08-24 08:32 PM (969 查看)
   就开源本身而言,它就是个成功案例。它不仅受个人喜欢,而且众多知名企业也青睐于它。
开源史上最成功的八个开源产品    伯乐在线-职场博客
   虽然开源计划和开源产品数不胜数,但哪一个才是最成功的呢?这里所说的"成功"的定义是:应用广泛+众所周知。而在众多成功的开源产品中,只有少数领头羊,而其他产品基本只能望其项背。

   Linux

   上榜理由:Linux + GNU = GNU/Linux 。从Linus Torvalds在1991年宣布他在Minix基础上创建一新OS内核到现在已经接近20年了。在这段时间内,大部分网络服务器都是Linux系统。


   BSD

   上榜理由:长久以来,FreeBSD, NetBSD和OpenBSD是服务器众操作系统之中广为人知的3个OS。上世纪90年代,三者均是脱胎于伯克利的Unix系统,故把三者组团上榜。另外,Apple的Mac OS脱胎于FreeBSD。


   MySQL

   上榜理由:MySQL是全球使用范围最广的数据库系统。2009年,全球的MySQL安装数量已达1千1百万。它是LAMP架构(Linux, Apache, MySQL, PHP)中的M。众多知名网站和产品均使用MySQL,比如:维/基百科、Facebook、Google和Wordpress。(Google和Facebook均改造了MySQL,以满足自身需求。详情可见本文末尾推荐阅读文章)。


   Apache

   上榜理由:Apache HTTP服务器从它诞生的1996年开始,它是全球使用最为广泛的Web服务器,其市场占有率远远超过第二名的IIS。2009年,全球超过1亿个网站使用Apache。

   据Netcraft2010年8月11日的数据统计表明,全球目前已有119,664,128个网站使用Apache;目前Apache市场占有率为56.06%,IIS为25.03%。
Web 服务器市场占有率    伯乐在线 - 职场博客
图1: Web 服务器市场占有率(点击图片放大查看)


   Firefox

   上榜理由:目前为止,它是Mozilla的最成功产品。2004年11月9日,FireFox 1.0问世。目前Firefox虽无法撼动IE的霸/主地位,但它是众多技术人员的首选浏览器。Firefox浏览器进化史:2002年9月23日Phoenix -> 2003年5月17日改为FireBird -> 2004年2月9日改为FireFox。

   根据Net Market Share 2010年7月份最新统计,Firefox市场占有率为22.91%,IE为60.74% 。

浏览器市场占有率     伯乐在线 - 职场博客
图2:浏览器市场占有率(点击图片放大查看)



   WordPress

   上榜理由:从2004年Wordpress作为b2博客软件一分支面世后,它开始主宰博客平台市场。据Pingdom 2009年的调查表明,全球Top 100博客中27%使用Wordpress。如果加上Wordpress.com和Automattic的Wordpress服务博客,该数据上升至32%。

   2010年8月份,Wordpress 3.0下载量已超过1250万。

   BIND

   上榜理由:BIND(Berkeley Internet Name Domain Server)是现今互联网上最常使用的DNS服务器软件,使用BIND作为服务器软件的DNS服务器约占所有DNS服务器的90%。BIND的第一个版本要追溯到20世纪80年代,它由伯克利大学的4位研究生共同开发,它和4.3 BSD一起发布。可以这样说,它就是全球的标准DNS服务器。

   不接触Linux的朋友应该很少听过BIND。因为全球大多数服务器的OS均为Linux/Unix,而这些Linux/Unix均绑捆BIND,所以BIND的份额才非常高。

   Ubuntu

   上榜理由:2004年10月20日,Ubuntu首个版本发布。迄今为止,它是Linux流传最广的分支,尤其是其出色的桌面系统。鉴于Ubuntu近些年来的巨大成功,榜上有名,应受之无愧。


   后记——无处不在的开源产品

   看到这里,你是不是发现,这8个产品中有6个在开源历史上的九个重大事件中出现过呢?其实,这也从另一个角度说明,这些开源产品对IT业界产生了重要影响。比如:Facebook背后就有非常之多的开源产品在支撑

   我们平时上网可能不会太注意,其实这些开源产品真的是无处不在。你访问的网站,大部分是使用Apache的Web服务器;你访问的网站,大部分操作系统是Linux或BSD;你访问的网站,大部分都是使用MySQL;你提交DNS查询请求由BIND服务器分析处理;你访问的博客很可能就是Wordpress的;说不定你现在就是用Firefox在阅读伯乐在线职场博客的这篇文章。 

Thursday, August 26, 2010

Google adds phone calling to Gmail

http://voices.washingtonpost.com/fasterforward/2010/08/google_adds_google_voice_to_gm.html?wprss=fasterforward

Google's Gmail isn't just a mailbox -- it now doubles as a phone. Users of Google's Web e-mail service can now call any phone in the U.S. or Canada for free (and make international calls for almost free) from within their browser.

gmail_calling.png

Google announced this feature in a blog post a few minutes ago. It seems to be built off the voice and video chat feature Google added two years ago, as it requires installing a new version of its chat plug-in, available for Windows XP or newer, Mac OS X 10.4 or newer and some versions of Linux.

(Note that this plug-in will also install a Google software-update utility in the background, which would unnerve me more if Google hadn't released that tool's code under an open-source license last year.)

I couldn't needed a couple of tries to get this plug-in to work in Apple's Safari browser on a Mac, while in the Mac, Windows and Ubuntu Linux versions of Firefox, it worked as advertised right away, allowing me to call my work voicemail, my work phone and two cellphones. The audio quality sounded fine -- as I'd hope on a Fios connection with more than enough bandwidth for voice calling.

While it's already being described as "Google Voice integrated into Gmail," the new calling feature doesn't require an account on Google's separate calling service (only opened to the public a couple of months ago). A voice account will, however, let you answer incoming calls from within Gmail.

If you have a Gmail account, give this service a try yourself and let me know in the comments how it works for you.

By Rob Pegoraro | August 25, 2010; 1:28 PM ET
Categories: E-mail , Mobile , Telecom

Monday, August 23, 2010

图文细说Google数据中心

http://forum.jobbole.com/entry.php/173

[发表人]: [发表时间]:2010-08-19 09:41 AM (609 查看)
   2010年7月20日,Google能源部向NextEra能源公司购买1.14亿瓦的风力电能,以供部分数据中心在未来20年使用。NextEra已从7月30日开始向Google供电。
图文细说Google数据中心 伯乐在线 - 职场博客
   Google数据中心一直是业界中令人着迷的"对象"之一。那么Google到底有多少数据中心?它们分布在什么地方?伯乐在线-职场博客的这篇文章整理收集一些有趣信息,以供分享和参考。


   Google数据中心分布图

   Google 搜索速度为什么能这么快?这主要因为Google在全球分布着众多的数据中心。根据现有信息,如果包括在建的数据中心,Google共有36个数据中心。其中美国有19个、欧洲12个、俄罗斯1个、南美1个和亚洲3个(北京-Google.cn、香港-Google.com.hk和东京各1个)。不过,Google也并非完全独享这些数据中心,他们也向其他公司出租空间。

Google数据中心-全球 伯乐在线 - 职场博客
图1:Google数据中心-全球

Google数据中心-北美 伯乐在线 - 职场博客
图 2:Google数据中心-北美

Google数据中心-欧洲 伯乐在线 - 职场博客
图3:Google数据中心-欧洲



   Google的第一个"数据中心"

Google的第一个
图4:Google的第一个"数据中心"--BackRub

   Google 的首个"数据中心"是在佩恩的宿舍楼。一句话概括:麻雀虽小,五脏俱全。详细配置请看《成名之前的Google:斯坦福大学期间的Backrub原貌


   数据中心的服务器

   大部分公司都是向Dell、HP、IBM和SUN厂商直接购买服务器。购买服务器需要一大笔费用,如果 Google的服务器均从其他公司购买,估计Google也无法有今天。时至今日,Google的所有服务器均为自己一手打造。Google服务器厚度 3.5寸,2U(两机柜式),它有2个CPU、2个硬盘,采用技嘉主板,有8个内存插槽。Google采用AMD与英特尔的x86处理器。在同样大的空间 内,Google的服务器比其他厂商的服务器能容纳更多的CPU。

Google服务器 伯乐在线-职场博客
图5-1:Google服务器

谷歌的一组服务器 伯乐在线 - 职场博客
图5-2:"世纪互联"机房中谷歌的一组服务器(DELL Precision 390 工作站)

   数据中心以集装箱为单位,每个集装箱里面有1160台服务器,每个数据 中心有众多集装箱。



   数据中心的核心技术

   Google一直都钟情于开源软件,也一直支持开源技术 (Google对手之一的Facebook也同样重视开源技术)。Google服务器使用的是Linux操作系统。Google的工程师按照平行计算的要 求对Linux进行了优化。Google开发自有核心软件,开发语言是Java和C++。

   Google的三大核心元素:
  1. Google 文件系统(GFS);(GFS负责服务器数据储存工作)
  2. Google大表;Bigtable:是Google一种对于半结构化数据进行 分布存储与访问的接口或服务);由于Google的文件系统异常庞大,以至于甲骨文和IBM公司的商业数据库在方面无用武之地。另外,商业数据库都是按 CPU数量来收费,如果Google使用商业数据库,可想而知,这是一笔天文数字。所以,Google量体裁衣地设计了符合自身的大表。
  3. Mapreduce 算法;它是Google开发的C++编程工具,用于大于1TB数据的大规模数据集并行运算。MapReduce能够找出一个词语在Google搜索目录中 出现的次数;一系列网页中特定词语出现的频率;链接到某个特定网站的所有网站数量等。
   虽然Google依靠许多开源项目实现了企业的腾飞,但Google始终对这三大核心元素保密。



   数据中心的专利
  1. 服务器内置电池。 每台服务器都有一颗12伏特电,确保万一主断源断电时还可持续供电。最终目的,节约成本。
  2. 可移动的数据中心集装箱。2008年10月获得该项专利,每个集装箱中最多可容纳1160台服务器。

   数据中心的开销

   根据Google的盈利报告,2006年Google在数据中心上的开销是19亿美元,2007年是24 亿,2008年23.6亿,2009年8亿9百万,2010年上半年已开销7亿1千5百万。

Google数据中心
图7:Google数据中心"烧钱"曲线图


   数据中心的选址标准
  1. 大量的廉价电力;
  2. 绿色能源,更注重可再生能源;
  3. 靠近河流或湖泊;(设备冷却需要大量水源)
  4. 用地广阔;(隐秘性和安全性)
  5. 和其他数据中心的距离;(数据中心之间的快速链接)
  6. 税收优惠。

Google数据中心 伯乐在线 - 职场博客
图8:Google的服务器(左)Google俄勒冈州Dalles数据中心(中)Google 服务器机柜特写(右)


   Google的特殊数据中心——圣吉兰数据中心

   Google在比利时的圣吉兰(Saint Ghislain)数据中心(图3中编号26)根本没有冷却装置,完全依靠纯自然冷却(即:用数据中心外面的新鲜空气来支持冷却系统)。一般来说,绝大部分数据中心都是采用水冷却装置。(这也就是为什么数据中心选址时要考虑水源。)

Google比利时数据中心 伯乐在线 - 职场博客
图9:Google比利时数据中心

比利时国王参观Google比利时数据中心 伯乐在线 - 职场博客
图10:比利时国王(左五)参观Google比利时数据中心



   Google的Dalles(达尔斯)数据中心

   Dalles数据中心(图2中编号8)位于俄勒冈州的波特兰以东约80英里,旁边是哥伦比亚河,河上有座大坝——Dalles大坝,大坝为数据中心提供便宜的电力。数据中心有2座4层楼高的冷却塔。(注:"Dalles"不是"Dallas",Dallas达拉斯在德州。)

Dalles数据中心鸟瞰图 伯乐在线-职场博客
图11:Dalles数据中心鸟瞰图
   以下这段话来自Nicholasg Carr,他曾经在2009年访问Dalles数据中。蓝色部分是关关的注释。

   Dalles数据中心有3个超大机房(在图11中有4个白色建筑,但只有3个是服务器机房),每个机房有45个集装箱,每个集装箱可以放置1160台服务器,故Dalles数据中心可以存放约15万台服务器。



   Google的秘密

   Google在其数据中心的位置和数量方面的保密工作做得很好。比如说:如果你反查Google各种爬虫或者是Google各个域名的IP地址,所得结果几乎看起来都是加州山景城的IP地址。因此,想通过反查IP地址,基本无法推断出其数据中心的真正位置和真正数量。

   此外,Google通常把其数据中心"伪装"成有限责任公司, 表明上看起来和Google毫无瓜葛。比如:北卡罗来纳州Lapis公司和爱荷华州的Tetra公司。

   既然Google在其数据中心方面的保密工作做得很出色,所以本文的信息未必是百分百正确。



   其他相关旧闻

   2008年1月28日有报道称,Google将在TW建立一数据中心。TW经济负责人陈瑞隆已确认此消息,并且表示已在TW西部彰化的彰滨工业区内为Google预算了一块地。TW还将向 Google提供各种优待,包括土地税折扣、保证电力供应稳定在内。不过至今一直没有听到这个数据中心在台的任何动静。

   在陈瑞隆确认消息 后的第二天,马来西亚总理也宣布,Google有意在马来西亚建立数据中心。

   另据报道,Google有意在东欧的立陶宛新建数据中心。

   另外,Google曾于2007年在南卡罗来纳州的布利西伍德购买466英亩(1英亩约合4000平方米)土地,似乎是打算建立南卡的第二个数据中心。

  -------------------------------------------------------------------
  您可能对以下文章也感兴趣

  图文细说计算机存储器的历史
  互联网历史上15个划时代的"第一"-上篇
  全球9大高科技公司是如何起家的-上篇
  成名之前的Google:斯坦福大学期间的Backrub原貌
  细数开源历史上的九个重大事件
  Flash,这把让互联网又爱又恨的双刃剑
  揭秘全球最大 网站Facebook背后的那些软件
  
  -------------------------------------------------------------------

Thursday, August 19, 2010

Edit hosts file in Windows 7 & Windows Vista

The host file is the one where one enters hostname and IP Address pair manually as against being served by a Name server (ex: DNS). As always the "host" file is under C:\windows\system32\drivers\etc\

To edit the host file, Click Start – search for "Notepad", right-click and select "Run as Administrator". This should launch notepad with elevated privileges. Now, open the host file from the File menu, edit and save.

Monday, August 16, 2010

Command Line Audio: Simple as mpg123

http://www.linux-mag.com/id/7838

Your mileage may vary with mpg123 but your MP3 listening enjoyment never will.


Did you ever want a little background music with your daily grind but either you didn't want to (or couldn't) fire up something graphical to use? That's where mpg123 comes to your rescue. Mpg123 is a fast console MPEG audio player and decoder library. If you're about to click on to another story because you think that a command line music playing application is devoid of features or functions, you're going to miss out on one of the coolest and most versatile MP3 applications you've ever seen.

Those of you who work most of your 50-hour plus weeks at the command line deserve the same multimedia enjoyment that your GUI-tethered coworkers enjoy. Applications such as mpg123 give you the opportunity to get real work done and have a little fun while you do.

The Basics

It's simple to install mpg123. You only need simple typing skills to install this command line gem.

 $ sudo apt-get install mpg123

or,

 $ sudo yum install mpg123

For purists or those less fortunates who have no packaged mpg123 version, you can download the source code is at http://sourceforge.net/projects/mpg123/.

Taking mpg123 for a Test Drive

Though mpg123 is small in stature, it could take 30 minutes or more to install it. It takes so long because, during the installation and setup process, the program automatically downloads sample podcasts into your home directory under a new directory named POD. Under that directory you'll see the following directories: Linux, LINUX and Privacy. In each of those directories, you have directories that are home to three specific podcasts: The Privacy Podcast, The Linux Link and LUG Radio. For the purposes of this article, I chose the Privacy Podcast, by Aaron Titus, titled "When Breaches Go Unreported" due to its excellent and serious content. You should definitely listen to this one for your own edification.

To play one of the downloaded podcasts or a music file that you've purchased legally, summon mpg123 at the command line and use the -C switch to invoke mpg123's full control complement.

 $ mpg123 -vC POD/Privacy/Privacy Podcast/privacy-2007-10-22-56442.mp3  High Performance MPEG 1.0/2.0/2.5 Audio Player for Layers 1, 2 and 3         version 1.12.1; written and copyright by Michael Hipp and others         free software (LGPL/GPL) without any warranty but with best wishes Decoder: SSE  Terminal control enabled, press 'h' for listing of keys and functions.  Playing MPEG stream 1 of 1: privacy-2007-10-22-56442.mp3 ... Title:   When Breaches Go Unreported     Artist: Aaron Titus Comment: Join Aaron Titus and explore common threats to your identity, and practical advice on how to make your identity more secure. www.aarontitus.net/privacy/ Album:   The Privacy Podcast Year:    2007                            Genre:  Privacy MPEG 1.0, Layer: III, Freq: 44100, mode: Stereo, modext: 0, BPF : 418 Channels: 2, copyright: No, original: No, CRC: No, emphasis: 0. Bitrate: 128 kbit/s Extension value: 0 Frame#   768 [15040], Time: 00:20.06 [06:32.88], RVA:   off, Vol: 100(100) 

The podcast begins to play for you. This one is just under seven minutes in length. The '-v' switch provides a verbose output that shows you the Channel information, bitrate, counter and volume settings. To see mpg123's controls, type 'h' during playback. Doing so will show the menu of available controls displayed below.

  -= terminal control keys =- [s]     or [ ] interrupt/restart playback (i.e. '(un)pause') [f]     next track [d]     previous track [b]     back to beginning of track [p]     loop around current position (like a damaged audio CD;-) [.]     forward [,]     rewind [:]     fast forward [;]     fast rewind [>]     fine forward [<]     fine rewind [+]     volume up [-]     volume down [r]     RVA switch [v]     verbose switch [l]     list current playlist, indicating current track there [t]     display tag info (again) [m]     print MPEG header info (again) [h]     this help [q]     quit [c]     or [C] pitch up (small step, big step) [x]     or [X] pitch down (small step, big step) [w]     reset pitch to zero 

If you have a directory that contains your favorite songs, you can play them all by issuing the mpg123 command with a wildcard setting.

 $ mpg123 -vC *.mp3 

Remote Access

If you must connect to your MP3 library remotely, don't despair; you can listen as if you had direct access to the system console. From your local system, ssh to the remote system and issue the mpg123 command to enjoy your audio gold just as you would from the console. This feature comes in handy for those of you who can connect remotely to a home-based Linux system that has all your MP3s, leaving your work computer untouched by any "foreign" files that could score you a

reprimand (or worse) from those who dispense your paycheck.

The mpg123 project maintainers provide regular updates though the documentation could use some help. Your best source for information on it is through its man page. You can get a lot of mileage out of mpg123 but beyond the basics, you're on your own. For those of you so inclined, contact the developers to enhance and expand the documentation for this incredibly simple, fast and flexible utility.

Kenneth Hess is a Linux evangelist and freelance technical writer on a variety of open source topics including Linux, SQL, databases, and web services. Ken can be reached via his website at http://www.kenhess.com. Practical Virtualization Solutions by Kenneth Hess and Amy Newman is available now.

Sunday, August 15, 2010

PPTP vs OpenVPN

http://blog.tuvpn.com/2010/05/pptp-or-openvpn/

The main uses of a VPN service are to provide ANONYMITY by hiding your IP address and to mantain PRIVACY by sending encrypted data across the Internet. There are various types of VPN connections available but in general many VPN providers offerPPTP and OpenVPN connections due to their simplicity and efficiency. They both provide different levels of encryption, in addition to anonimity.

PPTP

The Point-to-Point Tunneling Protocol (PPTP) is a method for implementing virtual private networks. PPTP uses a control channel over TCP and a GRE tunnel operating toencapsulate PPP packets.

OpenVPN

OpenVPN is a free and open source software application that implements virtual private network (VPN) solutions for creating secure point-to-point or site-to-siteconnections in routed or bridged configurations and remote access facilities. It usesSSL/TLS security for encryption and is capable of traversing network address translators (NATs) and firewalls.


PPTP vs OpenVPN ?

One of the biggest issues that drives our choice between PPTP and OpenVPN, and an issue that we have no control over, is that sometimes ISP block PPTP connections. There is nothing to be done about this, and in this case using OpenVPN is your only alternative. PPTP has some unique advantages, but a change to OpenVPN may be a good thing.

PPTP works with almost all the Operating software and not requires any software to use. It also works with many mobile devices such as Iphone, Ipad, Windows mobile and can easily be setup on them. In contrast, OpenVPN setup can be a little more complicated compare to PPTP, but with the right directions you should be able to setup the connection without much difficulty. Note that OpenVPN does not work with mobile devices.

PPTP encryption method uses the password as the key and it's datastream carries a retrievable hash password. If someone in middle intercepts your traffic and cracks the encryption (which is not easy though possible) then he can decrypt your traffic. Where as OpenVPN uses a very strong encryption (blowfish) method. Even if someone does intercept your traffic, they can do nothing with it. This makes OpenVPN moresecure than PPTP. To read further about OpenVPN security encryption keys follow thislink.

Which to Use

If you're looking to get high security and are more concerned about the secure transfer of data, then you should use OpenVPN. If you're looking for easy setup OR VPN usage on mobile devices then PPTP is the one for you. There are other protocols available such as L2P or IpSec, but they are not as user-friendly or cost-efficient.

Friday, August 13, 2010

Install PHP cURL on Ubuntu 10.04

http://www.blog.highub.com/php/php-core/linux-ubuntu-install-setup-php-curl/

If you use PHP, you may need to use cURL, which is one of the most popular extension. PHP CURL functions are available through the use of libcurl, a library created by Daniel Stenberg, and allow you to connect and communicate with web servers using many
different types of protocols.

Assume you have already setup LAMP. To install or setup cURL on your Linux machine like Ubuntu, run the following line of shell command in your terminal:

sudo apt-get install curl libcurl3 php5-curl

Now you have PHP cURL installed, the next thing you need to do is to restart apache2, run the following command in your terminal:

sudo /etc/init.d/apache2 restart

Oracle sues Google over Java use in Android

http://www.computerworld.com/s/article/9180678/Update_Oracle_sues_Google_over_Java_use_in_Android?taxonomyId=15
By James Niccolai
August 12, 2010 10:34 PM ET


DG News Service - Oracle has filed a lawsuit against Google, charging that its Android phone software infringes Oracle patents and copyrights related to Java, Oracle said Thursday.

"In developing Android, Google knowingly, directly and repeatedly infringed Oracle's Java-related intellectual property. This lawsuit seeks appropriate remedies for their infringement," Oracle spokeswoman Karen Tillman said in a statement.

The suit was filed Thursday in U.S. District Court in San Francisco and seeks a jury trial.

Google could not immediately be reached for comment on the lawsuit.

Oracle acquired Sun Microsystems' Java technology when it bought the company earlier this year. Java is a software environment that allows applications written in Java to run on virtually any computer so long as it has a Java virtual machine installed.

When Google developed Android, it included a Java compatible technology called Dalvik with the phone OS. Dalvik was developed as a "clean room" version of Java, meaning Google built it from the ground up without using any Sun technology or intellectual property, said Gartner analyst Ken Dulaney.

"You can't just take a Java application from a Sun environment, where it's licensed, and run it on Android. You have to recompile it to Dalvik," Dulaney said.

Oracle says Dalvik is a competitor to Java and infringes several of its patents, which it lists in the complaint, and its Java copyright.

It was unclear Thursday whether Oracle approached Google to discuss its concerns before it filed the lawsuit.

Oracle's motivation was probably Android's recent success in the smartphone market, Dulaney said. "They own Sun now and they want to collect the royalties on the language," he said.

Oracle alleges that Google was aware of its patents and "willfully and deliberately" infringed them. It also says Google hired some of Sun's Java engineers. It wants the court to block the alleged infringement and award it damages.

Dulaney said Oracle's case could be "hard to prove" and that a legal battle could take a long time. "What they'll have to argue about is whether Google did a purely clean-room Java or if they have someone with inside knowledge of the code," he said.

Dalvik is one option for writing Android applications; developers can also use HTML 5 and the C language. But Dalvik is used for some of the core Android applications, such as email, Dulaney said.

Thursday, August 12, 2010

如何实现翻墙

http://wenda.google.com.hk/wenda/thread?tid=4104e81842001e9c

  Linkideo-又一个安全免费的Vpn代理服务
  关于Vpn代理的好处,大家心知肚明,不再赘述。Linkideo是英国一个Vpn服务提供商,之前只提供收费VPN服务,如今也开始提供免费Vpn服务。
  Linkideo的免费账号带宽是128kbit/s,速度还是不错的,反正通过该VPN观看YouTube上的视频比较流畅。目前Linkideo分配给用户的IP地址是法国的,暂不知道是否会经常更改IP。
  Linkideo提供的是账号-密码型的VPN服务,所以与用户使用的操作系统无关。关于在各种操作系统上VPN的设置,可以查看Linkideo的Vpn设置指南。
  但需要指出的是Linkideo的免费VPN账号只能用来进行Web浏览,但这对大多数用户而言,已经足够了。
  现在申请Linkideo的免费账号,一起"走向世界"吧!
      
  注册地址:http://www.linkideo.com
      
  VPN的设置方法:
      
  1.打开控制面板的网络连接
      
  2.创建一个新的连接
      
  3.下一步
      
  4.选择连接到我的工作场所的网络
      
  5.选择虚拟专用网络连接
      
  6.在输入栏输入连接的名称,如:Linkideo VPN link
      
  7.选择不拨初始连接,点下一步
  输入VPN服务器地址: pptp1.linkideo.com
      
  8.建议选在我的桌面上添加一个到此连接的快捷方式,点完成
      
  9.在邮箱里找到帐号密码登录就可以啦,不过要先连入宽带。

Wednesday, August 11, 2010

svn: make the branches directory before make a branch

http://dryice.name/blog/freebsd/svn-make-the-branches-directory-before-make-a-branch/

Well, this is a short note to myself so the next time I want to create a branch of a new project, I won't need to search through the Internet.

Before doing

to make a new branch of a new project (which don't have any branches yet), I'll need to do

svn mkdir http://svn.example.com/repos/calc/branches \
-m "make the branches directory to hold all the branches"

first.

Or I'll get an error message like

svn: Path 'branches' not present

The reason is, like the error message said, there is no directory "branches" in the repo, and svn copy, like the "cp" command, won't make a directory if it's not there. It will assume I made a typo. A safe guard. And I need to explicitly create the directory.

How can I get Eclipse to show .* files?

http://stackoverflow.com/questions/98610/how-can-i-get-eclipse-to-show-files

In the package explorer, in the upper right corner of the view, there is a little down arrow. Tool tip will say view menu.

Click that, Select Filters. uncheck .* resources.

So Package Explorer -> View Menu -> Filters -> uncheck .* resources.

Using Subclipse (the Subversion Plug-in for Eclipse)

http://agile.csc.ncsu.edu/SEMaterials/tutorials/subclipse/index.html#section7_0
0.0 Outline
1.0Background of Subversion and Subclipse
2.0Adding Subclipse Plug-in to Eclipse
3.0Subclipse Perspective
4.0Adding a Repository
5.0Adding an Already Existent Project to the Repository
6.0Checking out a Project from the Repository
7.0Committing Resources into the Repository
8.0Synchronizing Resources
9.0History
10.0Disconnecting a Project from the Repository
11.0Exercise
12.0Sources and Further Information

1.0 Background of Subversion and Subclipse

Subclipse is an Eclipse plug-in that provides the functionality to interact with a Subversion server, and to manipulate a project on a Subversion server in the Eclipse environment.

Terminology
In the course of working on a project, a developer should work in the following manner. How to perform all of these task is outlined below.

If the project is new, the following is done the first time:

  • A developer checks in a project for the first time, putting all of the files on the repository.
  • Other developers check out the project into their workspace. If a developer changes workspaces, the code would need to be checked out again.
In the course of working, a developer should strictly follow these steps:
  1. Update their code, to obtain any changes that others made
  2. Work on their code
  3. Periodically (about every half-hour to an hour), the developer should synchronize, which displays any recent changes to the repository and which local code has been changed (synchronize doesn't actually do anything, it just tells you what needs to be done).
  4. If the developer has changed a file locally, and the files on the repository have been changed since the last update, a merge will need to take place
  5. The developer commits his/her changes of the local code to the repository
Top | Contents

2.0 Adding Subclipse Plug-in to Eclipse

If you are working in the laboratory, Subclipse should already be installed.

You can add the Subclipse plug-in to Eclipse by creating an update site in Eclipse and download and install Subclipse.

2.1 Create an update site for Subclipse

2.1.1 Select Help > Software Updates > Find and Install. Select Search for new features to install. Click Next.

2.1.2 Click the New Remote Site button. Give the update site a name, like Subclipse, and type in the following address:http://subclipse.tigris.org/update_1.2.x. Click OK. A new update site will be added to the list.

2.1.3 Press the + next to your Subclipse update site. Eclipse will connect with the site and list all of the updates available. Select the most recent Subclipse update by checking the box next to the update. Click Next.

2.1.4 Check the Subversion feature that you want to install. Click Next.

2.1.5 Accept the terms of the license agreement. Click Next.

2.1.6 Make sure that the Subversion feature is selected to install. Click Finish.

2.1.7 You will be asked to verify the feature that you wish to install. After you have, click Install.

2.1.8 You will now be asked to restart the workbench. Click Yes.

Top | Contents

3.0 Subclipse Perspectives

To change to the Subclipse perspective select Window > Open Perspective > Other... > SVN Repository Exploring.

The SVN Repository Exploring gives you three new views:

  1. The SVN Repository view lists all of the current repositories that you have access to. You can also create a new SVN Repository.
  2. The SVN Annotate view shows the annotations of a file in the repository. In order to view the annotations of a file, you must right click on the file and select Team > Show Annotations.
  3. The SVN Resource History, shows the revision history for a file that is selected in the SVN Repository view.

Top | Contents

4.0 Adding a Repository URL to Subclipse
(I used command to do this, HL)
Top
| Contents


5.0 Check In: Adding an Already Existing Project to the Repository
(I used command to do this, HL)
Top | Contents

6.0 Checking Out a Project from the Repository
(I used command to do this, HL)
Top | Contents

7.0 Synchronizing and Committing Resources to the Repository

Any resources that you have modified will have a black asterisk * in front of the resource name, and any added will have a question mark ? in front of the name.

It is always a good idea to see what needs to be done before committing files.

To synchronize resources, right click on a project and select Team > Synchronize with Repository .... You will be switched to the Team Synchronizing view. From there you can look at your outgoing changes, and others incoming changes, and synchronize your code before committing to the repository. Double-clicking on a file will open a side-by-side view of the file and its changes.

If a file has a two-way red arrow on it, then there is a conflict. Someone else has changed that file while you were working on it. Double-click the file to get a compare editor, and copy-paste what you need to resolve onto your local copy. When you have the local copy finished, right-click on the file and choose Mark as Merged. Note: PLEASE USE THIS FEATURE RESPONSIBLY!! Think very hard before selecting "Mark as Merged", as it will override what is in the repository. An entire history is kept in case you make a mistake, but always pause and check your work before marking as merged.

Note: constantly updating your code from the repository helps avoid conflicts

Top | Contents

8.0 Synchronizing Resources

To commit changes to files in your project, right click on the project and select Team > Commit.... Or, if your are in the "Team Synchronizing" perspective, right-click on the resources and select "Commit". Then you will edit the commit comment, or add a new commit comment to document what changes were made. Always add meaningful commit comments! There is also a list of previously used commit comments to choose from. Once you have committed code, the black asterisk should be gone from modified files.

Top | Contents

9.0 History
To compare your code with the latest from the repository, you may either recheck out the project or right click on the project in the Java/Plug-in Development perspectives and select Compare With > Latest from repository. Using copy and paste, one can recover old code this way. Using Compare With Revision... or Replace With Revision are also helpful.

Also,
Team > Show History shows an entire history of a folder/file.
Top | Contents

10.0 Disconnecting a Project from the Repository
Switch to the Java/Plug-in Development perspective. To disconnect a project from the repository, right click on the project and selectTeam > Disconnect. Eclipse will prompt asking if you wish to delete the metadata associated with the Subversion connection. Choose No. If you choose yes, you will have to delete the project in your workspace in order to check out another copy of the code.

Note: You will rarely need this feature.
Top | Contents

11.0 Exercise
Submit a file called "subclipse_answers.txt" which has the answers to the following questions.
  1. Suppose you are working on your code which as already been set up on the repository and has been set up on your machine. Place the following actions in the order in which you should work (some may not apply!):
    • Check-in
    • Check-out
    • Commit
    • Update
    • Synchronize
    • Work on your code
    • Mark as Merged (if necessary)
    • Resolve conflicts (if necessary)
  2. Suppose you have not set up your code in the repository yet. Place the following actions in the order in which you should work (some may not apply!):
    • Check-in
    • Check-out
    • Commit
    • Update
    • Synchronize
    • Work on your code
    • Mark as Merged (if necessary)
    • Resolve conflicts (if necessary)
  3. True or false? Developers should be committing to the repository often. Please explain why you chose that answer.
  4. True or false? Synchronizing your resources is the same as updating and committing, but in one step.
Top | Contents

12 .0 Sources and Further Information

Top | Contents


Back to Software Engineering Tutorials
Using Subclipse (the Subversion Plug-in for Eclipse) for Configuration Management Tutorial ©2003-2009 North Carolina State University,
Laurie Williams, Dright Ho, Sarah Heckman, and Ben Smith.
Email
the authors with any questions or comments about this tutorial.
Last Updated:
Wednesday, June 28, 2006 1:59:49 PM

Featured Post

Windows和Ubuntu双系统完全独立的安装方法

http://www.ubuntuhome.com/windows-and-ubuntu-install.html  | Ubuntu Home Posted by Snow on 2012/06/25 安装Windows和Ubuntu双系统时,很多人喜欢先安装windows,然...