From 14b677f51144c241373d910ba04308cbf8439cb8 Mon Sep 17 00:00:00 2001 From: CNprober Date: Sat, 28 Jun 2014 11:21:29 +0800 Subject: [PATCH 01/56] =?UTF-8?q?=E7=BF=BB=E8=AF=91=E5=AE=8C=E6=88=90By=20?= =?UTF-8?q?CNprober,=20Betty=20a=20funny=20tools=20for=20newhands?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ate English Phrases Into Linux Commands.md | 68 ++++++++++--------- 1 file changed, 35 insertions(+), 33 deletions(-) rename {sources => translated}/tech/20140625 Betty--Translate English Phrases Into Linux Commands.md (56%) diff --git a/sources/tech/20140625 Betty--Translate English Phrases Into Linux Commands.md b/translated/tech/20140625 Betty--Translate English Phrases Into Linux Commands.md similarity index 56% rename from sources/tech/20140625 Betty--Translate English Phrases Into Linux Commands.md rename to translated/tech/20140625 Betty--Translate English Phrases Into Linux Commands.md index d54f40f309..f9b695fbbc 100644 --- a/sources/tech/20140625 Betty--Translate English Phrases Into Linux Commands.md +++ b/translated/tech/20140625 Betty--Translate English Phrases Into Linux Commands.md @@ -1,66 +1,67 @@ -CNprober翻译中。。。619913541 +CNprober翻译完成。。。619913541 -Betty: Translate English Phrases Into Linux Commands +Betty:通过大白话执行Linux命令 ================================================================================ -**Betty** is an open source tool that translates English-like phrases into Linux commands. The main goal of this project is to use the Linux powered systems through natural language input. Let us see some examples how it works. -### Installation ### +**Betty** 是一个将类英语短语翻译成Linux命令的开源工具。这个项目的主要目的是让大家可以通过输入自然语言来使用强大的Linux系统。让我们来看一下它是怎么工作的。 -Betty installation is very simple and straight forward. Make sure you’ve installed the following prerequisites packages. +### 安装 ### -#### On Debian based systems: #### +Betty的安装非常简单直接。首先确认你已经安装了下面这些依赖包[译注,需要安装至少Ruby1.9以上版本]。 + +#### 对于基于Debian的系统:#### sudo apt-get install git curl ruby -On RPM based systems: +####对于基于RPM的系统:#### yum install git curl ruby -Now, git clone the Betty repository to any preferred location. I am going to clone the betty repo in my home directory **i.e /home/sk/**. +现在git工具把Betty库clone到你自定义的任何路径。这里我克隆到我的home目录,**例如 /home/sk/**. git clone https://github.com/pickhardt/betty -Add the betty alias in your bashrc file. +添加betty的别名到你的bashrc配置文件。 sudo nano ~/.bashrc -Add the following line at the end: +将下列行添加到文件的末尾: alias betty="/home/sk/betty/main.rb" -Make sure you’ve replaced the correct path of the betty directory. +确保你已经正确地设置好了betty的路径。 -It’s done. Now, it’s time to play with betty. +好了,现在是时候和betty好好地玩耍了。 -### Usage ### +### 用法 ### -You should include the word “betty” in-front of every English phrases. As you may know already, if we want to know the user name of our system, we run the following command: +你应该在英语短语之前加上单词“betty”。你也许已经知道,如果我们想知道在系统中我们的用户名,应该运行下面的命令: whoami -Sample output: +输出是这样的: sk -As you see above, my current user name is **sk**. Well, now we can get the same result using betty as shown below. +如你所见,我当前登录的用户名是 **sk**. 现在我也可以通过下面的betty命令获取相同的结果。 betty whats my username -Sample output: +输出是这样的: Betty: Running whoami sk -Cool, isn’t it? Yes. Betty understands the normal English phrase “whats my username” that I entered, and ran the command “whoami” automatically, and finally displayed the correct output. +真的好酷,是不是?Betty理解我输入的“whats my username”短语,然后运行“whoami”命令,最后输出结果。 -Let us see some other commands too. +让我们也来看其他命令。 -Betty will respond in multiple ways if you didn’t enter exactly what you’re looking for. For example, we run the following command: +如果你的输入不够准确,Betty也能以多种方式回应你。例如,我们运行下面的命令: betty whats my name -Betty isn’t sure whether she should find the system username or full name. In this case, she will ask you multiple questions to find the exact result. As you see below, Betty asks me which command(whoami or finger $(whoami) | sed ‘s/.*: *//;q’) should I want to execute. I just want it to display my username, so i chose number **1**. - +Betty不确定她应该查找系统用户名还是用户全名。这种情况下,她会询问你多个问题来找到准确的结果。如你下面所见,Betty问我想要运行哪一条命令(whoami 还是 finger $(whoami) | sed 's/.*:*//;q')[译注,需要你的系统已经安装finger]。我只想知道我的用户名,所以我选择数字**1**。 + Betty: Okay, I have multiple ways to respond. Betty: Enter the number of the command you want me to run, or N (no) if you don't want me to run any. [1] whoami @@ -71,13 +72,14 @@ Betty isn’t sure whether she should find the system username or full name. In Betty: Running whoami sk -### Compress And Uncompress Folders ### +### 压缩和解压缩文件夹 ### + +如果你想要压缩一个文件或者文件夹,用下面的命令。例如,我想压缩我home目录下的“test”文件夹。 -If you want to compress a file or a folder, use the following command. For example, I want to compress a folder called “test” folder in my home directory. betty compress test/ test.tar.gz -Sample output: +输出是这样的: Betty: Running tar -czvf test.tar.gz test/ test/ @@ -86,11 +88,11 @@ Sample output: test/home/sk/test/ test/home/sk/test/sample -Similarly, we can use the following command to uncompress an archive file. +类似的,我们可以用下面的命令来解压缩一个归档文件。 betty uncompress test.tar.gz -Sample output: +输出是这样的: Betty: Running mkdir test && tar -zxvf test.tar.gz -C test test/ @@ -99,11 +101,11 @@ Sample output: test/home/sk/test/ test/home/sk/test/sample -### Complete list of Betty commands ### +### 完整的Betty命令行列表 ### -Betty tool has some command formats. It doesn’t understand if you put the command “what is my user name” instead of “whats my username”. So, you have to enter the correct English phrase that supported by Betty. +Betty工具有一些命令格式。如果你输入“what is my user name”而不是“whats my username”,它是不能识别的。所以,你只能输入Betty支持的英语短语。 -The complete list of supported commands are given below. +下面给出一个Betty支持的完整的命令行列表。 Count: betty how many words are in this directory @@ -183,11 +185,11 @@ The complete list of supported commands are given below. betty turn web on betty please tell me what is the weather like in London -Betty seems very nice tool to Linux novice users. Hope this tool will useful for you too. +对Linux初级使用者来说,Betty似乎是一个非常nice的工具。希望这个工具对你也会非常有用。 Cheers! -Source: +源代码: - [Betty Homepage][1] @@ -195,7 +197,7 @@ Source: via: http://www.unixmen.com/betty-translate-english-phrases-linux-commands/ -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) +译者:[love_daisy_love](https://github.com/CNprober) 校对:[校对者ID](https://github.com/校对者ID) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From 2de973bb3d102025dee948fb18b653c4243bace2 Mon Sep 17 00:00:00 2001 From: Ryan Hu <213edu@gmail.com> Date: Fri, 27 Jun 2014 21:01:18 -0700 Subject: [PATCH 02/56] =?UTF-8?q?=E7=83=82=E5=B0=BE=E4=BA=86=E5=B8=AE?= =?UTF-8?q?=E5=B8=AE=E5=BF=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...sting and unstable repository on Debian.md | 38 ++++++++++--------- 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/sources/tech/20140620 How to enable testing and unstable repository on Debian.md b/sources/tech/20140620 How to enable testing and unstable repository on Debian.md index 4c22d5c1ee..aab26e9a18 100644 --- a/sources/tech/20140620 How to enable testing and unstable repository on Debian.md +++ b/sources/tech/20140620 How to enable testing and unstable repository on Debian.md @@ -1,23 +1,22 @@ -[Translating] --213edu - How to enable testing and unstable repository on Debian +如何在Debian启用测试版/不稳定版的库(testing and unstable repository) ================================================================================ -Testing/Unstable sources +为何要启用测试版/不稳定版? -The testing and unstable repositories of Debian provide with a higher version of software applications than what is present in the stable repository. Note that these names are actually aliases such that the stable repository points to the current Debian stable release and the Testing repository is what is going to be part of the next Debian stable release. So at the time of this post, Wheezy 7.x is the Stable release and Jessie is the Testing source which is going to be the next stable release. +测试版/不稳定版的Debian给开发者提供了一个比当前稳定版更新的环境以及软件。你们注意到了么?其实这些稳定版啊不稳定版啊神马的都是别名,比方说稳定版其实就是Debian的稳定发行版,而测试版将会是下一个Debian的稳定发行版(当然那是测试后的事了)。截至发稿为止,当前Debian的稳定发行版是Wheezy 7.x,将会成为下一个稳定版的测试版则是Jessie。 -At times, when you need to get a more recent version of a particular application, then the testing/unstable repository is a good option. I had the task of installing Apache 2.4.x onto a Debian wheezy system. But the repo had only 2.2.x and the testing repo had the required 2.4.x version. So the solution is to grab it from the testing repo. +当你需要一款应用的最新版本的时候,启用测试版/不稳定版将会是不二的选择。当初我工作需要安装个Apache的 2.4.x到我的Debian Wheezy。测试版需要的是2.4.x的,可是我的repo只有2.2.x的。所以最好的解决方案当时是在测试版下下来啦。 -Most of the time, when looking for newer versions of software applications, we would fiddle with the "Testing" repository only. +通常来说当我们想尝试最新版本的应用时都应只会使用测试版的系统。 -This post is going to show you how to setup the Testing and Unstable sources on a Debian system and how to install software from them, without breaking your existing system. +在这篇文章里我将教大家如何在不弄坏你系统的前提下设置好测试、不稳定版的Debain系统病在上面安装软件。 -> Stable < Testing < Unstable +> Stable < Testing < Unstable (稳定 < 测试版 < 不稳定版) > Wheezy < Jessie < Sid -### 1. Setup the apt sources for testing/unstable repo ### +### 1. 设置测试版/不稳定版的apt源 ### -The first step is to add the testing/unstable sources to your sources.list file. The /etc/apt/sources.list file on a Debian wheezy system looks something like this by default. +第一步是把测试版/不稳定版的源加到你的sources.list文件里。在Debian Wheezy系统上,/etc/apt/sources.list理应长得像这样: $ cat /etc/apt/sources.list @@ -29,10 +28,11 @@ The first step is to add the testing/unstable sources to your sources.list file. deb-src http://security.debian.org/ wheezy/updates main ... -Note down the url of the repository server - http://http.us.debian.org/debian/ -This repository server is a mirror that is located nearest to you. It shall be different in your sources.list file. The same shall be used in the next steps +把你repo服务器的链接记下来,比如:http://http.us.debian.org/debian/ -To add the testing and unstable sources you need to add something like this to your sources.list file +这个repo服务器将会是离你最近的一个服务器; 在不同的地理位置会有不同的url,这个将会用于下一步。 + +如果想加测试/不稳定源,则需要在sources.list文件加上这些东西: # Testing repository - main, contrib and non-free branches deb http://http.us.debian.org/debian testing main non-free contrib @@ -48,23 +48,25 @@ To add the testing and unstable sources you need to add something like this to y deb http://http.us.debian.org/debian unstable main non-free contrib deb-src http://http.us.debian.org/debian unstable main non-free contrib -The format is +格式将会是 deb + (deb <上一步弄的服务器/镜像url> ) -Instead of testing/unstable the corresponding codenames jessie and sid can also be used +当然啦,除了用testing或者unstable这么烂的词,他们的名称也是能使用的,比如Jessie或者Sid deb http://http.us.debian.org/debian jessie main non-free contrib deb http://security.debian.org/ jessie/updates main contrib non-free deb http://http.us.debian.org/debian sid main non-free contrib -### 2. Do some apt pinning - Important ! ### +### 2. Do some apt pinning - Important ! ### <-怎么翻译 -> After adding the testing and unstable repos, if you update the system then all available updates for all installed applications would be installed right away, leading the system to an unpredictable state. +> 在加了测试/不稳定的repo之后,当你更新系统的时候所有安装过并且可用的软件就会立马更新,而后你的系统就被你玩火自焚了。 -Therefore some rules have to be setup in order to restrict the package selection during regular updates/upgrades. +所以在在升级的时候我们必须要加一些限制,才能让我们在升级的时候选择特定的包。 《-这句被我翻译坏了帮帮忙修一下 This is done through "apt pinning" where we tell the apt system to use only the stable system as always, but we may select to install a particular package from the testing or unstable repository if we wish to. +在这里,我们可以使用apt pinning来告诉apt系统哪些包需要保持不动,哪些包需要 The apt pinning preferences can be configured into either of the following 2 files. From fa63c5bbf3c7d17c9c39730a4b7507ce3b0bc9de Mon Sep 17 00:00:00 2001 From: owen-carter Date: Sat, 28 Jun 2014 13:07:22 +0800 Subject: [PATCH 03/56] translatde by owen-carter --- .../talk/20140617 14 Apps To Boost Ubuntu.md | 81 ------------- .../talk/20140617 14 Apps To Boost Ubuntu.md | 107 ++++++++++++++++++ 2 files changed, 107 insertions(+), 81 deletions(-) delete mode 100644 sources/talk/20140617 14 Apps To Boost Ubuntu.md create mode 100644 translated/talk/20140617 14 Apps To Boost Ubuntu.md diff --git a/sources/talk/20140617 14 Apps To Boost Ubuntu.md b/sources/talk/20140617 14 Apps To Boost Ubuntu.md deleted file mode 100644 index 05d89ba210..0000000000 --- a/sources/talk/20140617 14 Apps To Boost Ubuntu.md +++ /dev/null @@ -1,81 +0,0 @@ - owen-carter translating -14 Apps To Boost Ubuntu -================================================================================ -Making the switch to Ubuntu – or any popular Linux distribution – is more than the mere act of changing operating systems. You must also have apps that allow you to get work done. - -In this article, I'll be sharing critical applications that I rely on, and I’ll talk about how I use them in my daily activities. - -### Apps for Daily Use ### - -Generally when it comes to software on the Linux desktop, I drop app titles into one of two categories. These would be stuff I use every day, and everything else. Below are applications I find myself running each and every day. - -1) **Firefox** – Sometimes I use other browsers, but lately [Firefox][1] has been my long trusted friend. Reliable, safe and cross platform, Firefox is generally what I use for my daily browsing needs. - -In addition to accessing bookmarks and webpages, I also rely on Firefox to handle my various LAN server duties as well. Duties such as: [Plex][2], [Zoneminder][3], router/WAPs, and my file server. All of these are accessed each day using Firefox. - -2) **Parcelite** – I can't begin to function without a decent clipboard manager, and for me, you can't beat [Parcelite][4] on the GNOME desktop. Simple to use, easy to access and it's also chalked full of useful options. Parcelite options include everything from hotkeys to white space handling. There are a ton of great clipboard managers out there, but it's tough to beat what Parcelite offers. - -3) **Bittorrent Sync** – I have used various open source alternatives for file syncing that needed more development before being released. That being said [Bittorrent Synchas][5] NEVER let me down. It's easy to run and install thanks to the new GUI offering, and Bittorrent Sync allows me to transfer huge video files quickly from machine to machine without wasting time syncing stuff to the "cloud." - -I've also found it to be a fantastic way to share large files easily with others, while maintaining IP address and directory privacy along the way. Despite the numerous alternatives available, I remain firmly grounded as a Bittorrent Sync fanboy. - -4) **System Monitor** – Because TOP only goes so far, I prefer a tabbed GUI as it's much easier on my eyes. Using GNOME's [System Monitor][6], I can quickly discover a runaway process and easily kill it without ever needing to break a sweat. Unlike a terminal app like [TOP][7], I can also get a visual perspective using graphs in real-time for my CPU, memory and disk usage. Being a visual person, it's difficult to beat the bar graph showing me how much space I have. Same applies to real-time resource usage as well. - -5) **PulseAudioControl** – Each day, I tend to bounce between multiple sound devices. Sometimes I need to make one the default, but then switch from Firefox audio to another device altogether. Because I like to have as much control over my audio as possible, I've found that [PulseAudioControl][8] is an invaluable tool. - -### Everything else software ### - -In this section, I'll share apps that I use, but may not necessarily use each and every day. Many of these apps are open source, some are not, all are of great value to me personally. - -6) **Skype** – Whether it's calling into [Jupiter Broadcasting][9] to co-host a weekly podcast, or simply catching up with a business contact, [Skype][10] is how Internet video conversations happen. After testing countless alternatives, I always find myself coming back to Skype. Even though there are really awesome open source options like [Ekiga][11] or [Jitsi][12], at the end of the day Skype is where everyone is at – good luck getting people to switch. - -7) **Kdenlive** – I use two different video editors, and when it comes to banging out a heavily edited video, [Kdenlive][13] is the tool I use for picture in picture compositing and editing really large, complex videos. I've successfully managed 6 track edits in Kdenlive that have crashed in other video editors. - -8) **OpenShot** – For the most part, [OpenShot][14] is my goto video editor for most of my video editing tasks. Quick edits, and two track work goes by quickly and easily using this editor. I have also found that it offers great effects that are difficult to match elsewhere. Blender title effects and great video transitions make OpenShot a fantastic editor for my own projects. - -9) **SpiderOak** – After using countless cloud backup services over the years, I've settled on [SpiderOak][15] as my favorite. Easy to use and setup, I love the incremental options provided and how simple it is use. Just set it and forget it, then SpiderOak does all the heavy lifting. - -10) **Dropbox** – I've had a love/hate relationship with [Dropbox][16] for many years now. Despite being cross platform, which means I can access files from anywhere, I'm slowly finding my self less and less reliant on this cloud-based backup solution. Still, it does allow me to access files from any web browser even if it's not from a computer I'm normally using, which makes dropping the Dropbox habit even harder. - -11) **Writer** – I've been relying on [Writer][17] since I first used it on Windows via OpenOffice. Today, I am using Writer with LibreOffice and for my needs, it does everything I could need a word processor to do. Now it's fair to point out that some proprietary office suites might offer additional functionality not found in Writer, however 99% of what most people need is covered here with Writer. For me personally, I'll always be a LibreOffice Writer fan. - -12) **SimpleScreenRecorder** – Over the years, I've come to find myself using [SimpleScreenRecorder][18] over other alternatives as it does a nice job with multiple monitor support, plus it can even capture OpenGL applications as well. Easy to use and reliable, SimpleScreenRecorder has served me well. I recommend it to anyone who is tired of playing with other screen capturing software that only works some of the time. - -13) **SimpleScan** – When I need to scan a document, I don't want to spend a lot of time configuring a bloated program. [Simple Scan][19] is great in this capacity. Rocking the SANE scanner database, Simple Scan will work with just about any scanner or all-in-one printer/scanner you throw at it. What's also nice is that it's setup to work with the best resolution out of the box, yet you're still free to make any manual adjustments you see fit. - -14) **Baobab** (Disk Usage Analyzer) – I keep hearing how hard drive prices have come down. Be that as it may, the fact is I'm not made of money and each dollar I spend is usually part of a tight budget. This means I need to make the best use of the hard drive space I have available. To help me do this, I rely on [Baobab][20] to give me both a clear view of my available space on my hard drive, but also a clearer picture of which directories are eating away at my precious hard drive space. - -### Apps That Really Work, Regardless ### - -When it comes to applications I rely on, it's really less about their titles and licenses and more about the tasks that they allow me to accomplish. The myth that Linux doesn't really have required software is becoming a thing of the past. Most computing tasks, barring a few limited exceptions, can be done easily from the Linux desktop as I've explained above. - -Obviously there are applications that are "must haves" for you, that I might not use myself. What applications do you rely on? Hit the Comments below and share your best applications with the readers here. - --------------------------------------------------------------------------------- - -via: http://www.datamation.com/applications/14-apps-to-boost-ubuntu-1.html - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://www.mozilla.org/en-US/firefox/new/ -[2]:https://plex.tv/ -[3]:http://www.zoneminder.com/ -[4]:http://parcellite.sourceforge.net/ -[5]:http://www.bittorrent.com/sync -[6]:https://help.gnome.org/users/gnome-system-monitor/3.12/ -[7]:http://linux.about.com/od/commands/l/blcmdl1_top.htm -[8]:http://freedesktop.org/software/pulseaudio/pavucontrol/ -[9]:http://en.wikipedia.org/wiki/Jupiter_Broadcasting -[10]:http://www.skype.com/en/download-skype/skype-for-linux/ -[11]:http://ekiga.org/ -[12]:https://jitsi.org/ -[13]:http://www.kdenlive.org/ -[14]:http://www.openshot.org/ -[15]:https://spideroak.com/ -[16]:https://www.dropbox.com/ -[17]:http://www.libreoffice.org/discover/writer/ -[18]:http://www.maartenbaert.be/simplescreenrecorder/ -[19]:https://launchpad.net/simple-scan -[20]:http://www.marzocca.net/linux/baobab/baobab-getting-started.html diff --git a/translated/talk/20140617 14 Apps To Boost Ubuntu.md b/translated/talk/20140617 14 Apps To Boost Ubuntu.md new file mode 100644 index 0000000000..63fcec5938 --- /dev/null +++ b/translated/talk/20140617 14 Apps To Boost Ubuntu.md @@ -0,0 +1,107 @@ +14个可以提升Ubuntu体验的应用程序 + +转战到Ubuntu-或者是别的流行的Linux发行版-不仅仅是操作系统的操作方式的改变,更多的是你还需要一些能支持你完成工作的好的apps。 + + +在这篇文章中,我将分享一些我使用的关键的基础应用程序,我将谈谈在我的日常工作中如何有效地使用它们。 + + + + +### 日常使用的应用程序 ### + + +一般当说到Linux 桌面上的应用,我总是将这些应用划分为两大类,频繁使用的和一些别的应用。下边我为大家介绍的是一些自己日常使用的应用。 + + +1) **Firefox** — 有时我也会使用用其他的浏览器,但最近[火狐浏览器][1]已经成为我可以长期信赖的朋友。可靠的、 安全的、 跨平台的,火狐浏览器完全满足了我的日常冲浪需求。 + + +除了访问书签和网页,我还依靠火狐浏览器来处理我各种局域网服务器的事务,如 [Plex][2], [Zoneminder][3], router/WAPs, 和我的文件服务器。所有这些均可以使用火狐浏览器进行访问。 + + +2) **Parcelite**— 如果没有一个像样的剪贴板管理器我简直没法开始工作,至少对我来说,你无法吐槽在GNOME 桌面环境下的[Parcelite][4] 。使用简单,易于访问而且它提供了很多的有用的选项。Parcelite 选项包括一切从热键到white space handling的处理。尽管已经有很多的剪贴板管理器,但它们却很难击败 Parcelite 。 + + +3) **Bittorrent Sync** — 我已经使用过了各种开源替代方案,为了同步那些在发布之前还需要进行开发的那些项目,之后我发现[Bittorrent Synchas][5] 从来没有让我失望过。它运行和安装都很简单和方便这多亏了新的GUI的实现,而且 Bittorrent Sync 允许我快速地传输巨大的视频文件从机器到机器而无需浪费时间去将大量的文件同步到“云端”。 + + +我还发现它是很容易与别人分享大型文件,同时能一直保持 IP 地址和目录的隐蔽。尽管有许多的替代品,我仍然坚定地将Bittorrent Synchas作为 Bittorrent Sync变形金刚迷。 + + +4) **System Monitor** — 因为TOP实在是滚动地太快了,所以我个人更喜欢一个具有选项卡式的 GUI,因为它能够释放我的眼睛。使用 GNOME 的系统监视器,我可以很地会发现一个失控的进程,并且轻松地kill掉它而不需吹灰之力。与[TOP][7]终端应用程序不同的是,我可以使用实时图形在视觉角度去查看我的 CPU、 内存和磁盘的使用情况。作为一个拥有视觉的人,你不得不说,用条形图去展示我还拥有多少的空间,当然这也同样适用于实时的资源使用情况,这种GUI实现实在是太赞了。 + + +5) **PulseAudioControl** — 每一天,我总是需要在多个声音设备之间来回穿梭。有时我需要将其中一个设为默认设备,但然后却完全可能会从火狐浏览器音频切换到到另一个设备。因为我喜欢控制我尽可能多的音频,然后我就发现 [PulseAudioControl][8]是一个无价的工具。 + + + + +### 一些别的软件 ### + +在本节中,我将分享我使用,但可能并不一定是每天都使用的应用程序。许多这些应用程序都是开放源代码的,有一些不是,但是它们对我个人都非常具有价值。 + + +6) **Skype** — 无论它在呼唤[Jupiter Broadcasting][9] 进入每周共同主持的播客,或者只是联系上了一个业务,[Skype][10] 见证了互联网视频会议的发展史。测试完成无数的替代品后,我总是会发现自己还是终归回到 了Skype。即使有真的很棒的开源选择像[Ekiga][11] 和 [Jitsi][12],在年底的一天,Skype 与大家同在 — — 希望切换到Skype是一件很愉快的事。 + + +7)**Kdenlive** — 我使用两个不同的视频编辑器,当我要导出一个庞大的视频剪辑项目的时候。[Kdenlive][13]是我使用的图片合成和编辑大型的、 复杂的视频的工具。我已经成功地在 Kdenlive 里边管理了6个素材轨道,但同样的负载量早已经让别的视频剪辑软件崩溃了。 + + + +8)**OpenShot** — 大多数情况下,我会将[OpenShot][14]作为视频剪辑任务的首选神兵利器。快速的编辑和两个素材轨道工作区的流畅的简单操作、 方便地使用此编辑器。我还发现它提供了很棒的无与伦比的特效。混合标题效果和超赞的的视频转场效果使OpenShot成为一款超棒的视频制作软件,在我自己的视频项目上。 + + +9)**SpiderOak** — 在使用了无数云备份服务这么多年后, [SpiderOak][15] 已经成为了我的至爱,。易于安装和使用,我超喜欢它所提供的增量选项而且使用起来是如此的简单。只需一次完美设置,然后忘记,之后SpiderOak将会挑起你的文件搬运大任。 + + +10) **Dropbox** — 许多年来,我已经与[Dropbox][16] 爱恨交织。尽管它的跨平台特性这意味着我可以从任何位置访问文件,我慢慢地发现我自己越来越少依赖这个基于云计算的备份解决方案。尽管如此,它允许我从任何 web 浏览器中访问文件,即使是从我不经常使用的计算机,这使得抛弃 Dropbox 更是难上加难。 + + +11) **Writer** — 我一直以来都在使用[Writer][17] 自从我第一次使用它在 Windows 上通过 OpenOffice。今天,我使用Writer与 LibreOffice 来满足我的需求,它可以做一切一个文字处理器可以做的。现在它是公正地指出,一些在作家中找不到专有的办公套件可能会提供附加功能,但是 99%的大多数人需要的功能在Writer这里都有。就我个人而言,我会永远是一个LibreOffice Writer粉。 + + +12)**SimpleScreenRecorder** — 多年来,我发现自己使用 [SimpleScreenRecorder][18]远超过其他同类软件,它能很好支持多监视器模式,再加上它甚至可以捕获基于 OpenGL 的应用程序。易于使用和可靠的 SimpleScreenRecorder 让我的工作更加得心应手。我把它推荐给那些已经疲于使用甚至很少使用同类软件屏幕捕捉软件的同学们。 + + +13)**SimpleScan** — 当我需要扫描文档的时候,我一点都不想将大把大把的时间花费在配置的臃肿的程序上。 [Simple Scan][19] 可以在这方面做得很好。智能的扫描数据库,Simple Scan将与市面上的任何扫描仪或多功能一体打印机/扫描仪很好的进行协作。此外还有一点好处就是它会设置成的最佳分辨率,当然现在你还可以很自由的去进行任何你认为合适的手动调整。 + + +14)**Baobab**(磁盘使用分析器) — — 我不断听到关于如何硬盘价格已回落。这或许没错,但现实却是我却囊中羞涩。这意味着我需要充分利用我能利用的所有硬盘空间,为了实现这个目的,我使用 [Baobab][20] 来观察我在我的硬盘上的可用空间,而且还可以直观地看到到底是哪一个目录正在蚕食我宝贵的硬盘空间。 + + +### 真正的具有生产力的软件 ### + +谈到我所依赖的这些软件,我们真正关心的更多的是他们能为我们完成什么样的任务而不是它们所拥有的光辉头衔和自身的许可证。linux不需要软件的传奇时代早已过去。大量的计算任务,除了有限的几个例外,大都可以在linux桌面上轻松地如我所说的那样完成。 + + +很明显你应该装备一些必不可少的软件,当然那些软件并不一定是我也使用的。你所倚重的软件是什么?您可在下方进行评论并与我们的读者进行分享那些优秀的软件。 + + + +via: http://www.datamation.com/applications/14-apps-to-boost-ubuntu-1.html + +译者:[owen-carter](https://github.com/owen-carter) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.mozilla.org/en-US/firefox/new/ +[2]:https://plex.tv/ +[3]:http://www.zoneminder.com/ +[4]:http://parcellite.sourceforge.net/ +[5]:http://www.bittorrent.com/sync +[6]:https://help.gnome.org/users/gnome-system-monitor/3.12/ +[7]:http://linux.about.com/od/commands/l/blcmdl1_top.htm +[8]:http://freedesktop.org/software/pulseaudio/pavucontrol/ +[9]:http://en.wikipedia.org/wiki/Jupiter_Broadcasting +[10]:http://www.skype.com/en/download-skype/skype-for-linux/ +[11]:http://ekiga.org/ +[12]:https://jitsi.org/ +[13]:http://www.kdenlive.org/ +[14]:http://www.openshot.org/ +[15]:https://spideroak.com/ +[16]:https://www.dropbox.com/ +[17]:http://www.libreoffice.org/discover/writer/ +[18]:http://www.maartenbaert.be/simplescreenrecorder/ +[19]:https://launchpad.net/simple-scan +[20]:http://www.marzocca.net/linux/baobab/baobab-getting-started.html \ No newline at end of file From bc25997e41ccce3b51bd2e3b83d2ea2d4f737da0 Mon Sep 17 00:00:00 2001 From: wxy Date: Sat, 28 Jun 2014 21:35:02 +0800 Subject: [PATCH 04/56] =?UTF-8?q?=E5=8F=91=E5=B8=83=EF=BC=9A27=20The=20Lin?= =?UTF-8?q?ux=20Kernel--Configuring=20the=20Kernel=20Part=2023?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...27 The Linux Kernel--Configuring the Kernel Part 23.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) rename {translated => published}/The Linux Kernel/27 The Linux Kernel--Configuring the Kernel Part 23.md (95%) diff --git a/translated/The Linux Kernel/27 The Linux Kernel--Configuring the Kernel Part 23.md b/published/The Linux Kernel/27 The Linux Kernel--Configuring the Kernel Part 23.md similarity index 95% rename from translated/The Linux Kernel/27 The Linux Kernel--Configuring the Kernel Part 23.md rename to published/The Linux Kernel/27 The Linux Kernel--Configuring the Kernel Part 23.md index c1d766f56b..5a10971a31 100644 --- a/translated/The Linux Kernel/27 The Linux Kernel--Configuring the Kernel Part 23.md +++ b/published/The Linux Kernel/27 The Linux Kernel--Configuring the Kernel Part 23.md @@ -1,8 +1,8 @@ 戴文的Linux内核专题:27 配置内核 (23) ================================================================================ -![](http://www.linux.org/attachments/slide-jpg.735/) +![](http://www.linux.org/attachments/slide-jpg.735/.jpg) -欢迎来到内核配置的下一章!本篇中我们会配置密码API,虚拟化和运行库。密码学指的是在需要的计算机之间加密和安全通信。用户可能加密数据以保证是收件人而不是黑客收到数据。 +欢迎来到内核配置的下一章!本篇中我们会配置密码API,虚拟化和运行库。密码学指的是在需要的计算机之间加密和安全通信的科学。用户可能加密数据以保证是收件人而不是黑客收到数据。 Linux内核需要在内核中启用"Cryptographic algorithm manager"(密码算法管理器)。这个特性提供了操作内核的加密特性所需的软件。 @@ -93,7 +93,7 @@ CORDIC algorithm - 双曲线和三角函数。 JEDEC DDR data - JEDEC双倍数据速率SD-RAM规范 -你猜怎么了?我们已经完成便宜内核。在23篇之后,我敢肯定这是你的感觉 - +你猜怎么了?我们已经完成配置内核。在23篇之后,我敢肯定这是你的感觉 - 视频链接:[http://www.youtube.com/embed/barWV7RWkq0?wmode=opaque][1] @@ -107,7 +107,7 @@ JEDEC DDR data - JEDEC双倍数据速率SD-RAM规范 via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-23.5112/ -译者:[geekpi](https://github.com/geekpi) 校对:[校对者ID](https://github.com/校对者ID) +译者:[geekpi](https://github.com/geekpi) 校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From 7c1c5c53035d9217e2a58f9f78aed7d2ee3c25ae Mon Sep 17 00:00:00 2001 From: Oolong Tea Date: Sat, 28 Jun 2014 21:38:27 +0800 Subject: [PATCH 05/56] =?UTF-8?q?=E4=B9=8C=E9=BE=99=E8=8C=B6=20=E7=BF=BB?= =?UTF-8?q?=E8=AF=91=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...cal Debuts 'Orange Box' for Ubuntu OpenStack Cloud Demos.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sources/news/20140625 Canonical Debuts 'Orange Box' for Ubuntu OpenStack Cloud Demos.md b/sources/news/20140625 Canonical Debuts 'Orange Box' for Ubuntu OpenStack Cloud Demos.md index e64d0bd10d..3748577b02 100644 --- a/sources/news/20140625 Canonical Debuts 'Orange Box' for Ubuntu OpenStack Cloud Demos.md +++ b/sources/news/20140625 Canonical Debuts 'Orange Box' for Ubuntu OpenStack Cloud Demos.md @@ -1,3 +1,4 @@ +乌龙茶占坑 Canonical Debuts 'Orange Box' for Ubuntu OpenStack Cloud Demos ================================================================================ > The Orange Box, a portable server cluster that Canonical will use for Ubuntu-based OpenStack cloud demonstrations and training, is now available. @@ -34,4 +35,4 @@ via: http://thevarguy.com/ubuntu/062314/canonical-debuts-orange-box-ubuntu-opens [6]:http://thevarguy.com/ubuntu/051614/shuttleworth-highlights-ubuntu-openstack-cloud-innovations [7]:http://www.ubuntu.com/cloud/tools/jumpstart [8]:http://arstechnica.com/information-technology/2014/06/hands-on-with-canonicals-orange-box-and-a-peek-into-cloud-nirvana/ -[9]:http://www.intel.com/content/www/us/en/nuc/overview.html \ No newline at end of file +[9]:http://www.intel.com/content/www/us/en/nuc/overview.html From cc1fcb19f12d159c38a8a2fba169dd23e948cc08 Mon Sep 17 00:00:00 2001 From: wxy Date: Sat, 28 Jun 2014 21:48:24 +0800 Subject: [PATCH 06/56] =?UTF-8?q?=E5=8F=91=E5=B8=83=EF=BC=9A28=20The=20Lin?= =?UTF-8?q?ux=20Kernel--Compiling=20and=20Installing?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... Linux Kernel--Compiling and Installing.md | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) rename {translated => published}/The Linux Kernel/28 The Linux Kernel--Compiling and Installing.md (56%) diff --git a/translated/The Linux Kernel/28 The Linux Kernel--Compiling and Installing.md b/published/The Linux Kernel/28 The Linux Kernel--Compiling and Installing.md similarity index 56% rename from translated/The Linux Kernel/28 The Linux Kernel--Compiling and Installing.md rename to published/The Linux Kernel/28 The Linux Kernel--Compiling and Installing.md index 40f655885b..5beb3945bf 100644 --- a/translated/The Linux Kernel/28 The Linux Kernel--Compiling and Installing.md +++ b/published/The Linux Kernel/28 The Linux Kernel--Compiling and Installing.md @@ -1,32 +1,32 @@ 戴文的Linux内核专题:28 编译与安装 ================================================================================ -![](http://www.linux.org/attachments/slide-jpg.762/) +![](http://www.linux.org/attachments/slide-jpg.762/.jpg) -你好!在花费了大量的时间在配置你需要的内核后,你现在可以编译它了。源代码是纯文本形式的C代码。这对人来可读但是对机器不这样。编译会将代码转换成计算机可理解的一种称之为二进制码的形式(1是 [开],0 是 [关])。编译同样会将所有内核代码文件变成一个内核的文件。 +你好!在花费了大量的时间在配置你需要的内核后,你现在可以编译它了。源代码是纯文本形式的C代码。这对人来可读但是对机器可不是这样。编译会将代码转换成计算机可理解的一种称之为二进制码的形式(1是 [开],0 是 [关])。编译同样会将所有内核代码文件变成一个内核的文件。 -为了编译内核,在内核源代码相同目录下,在终端内输入"make"。这会花费一些时间。一旦完成,模块必须通过"make modules"来编译。为了从一开始就简化编译过程,输入"make; make modules"。这会先编译接着是模块,而不用用户再回来输入"make modules"。 +为了编译内核,在内核源代码相同目录下,在终端内输入"make"。这会花费一些时间。完成之后,必须通过"make modules"来编译模块。为了从一开始就简化编译过程,输入"make; make modules"。这会先编译接着是模块,而不用用户再回来输入"make modules"。 -![](http://www.linux.org/attachments/compiling_01-png.763/) +![](http://www.linux.org/attachments/compiling_01-png.763/.jpg) 警告:在你安装一个内核时,备份所有的重要数据,确保有一份/boot目录备份在FAT32的存储卡上。这可以在如果安装失败后帮助修复系统。FAT32不会存储权限,因此它更容易被用作live盘来还原数据。记住设置原始文件权限和可执行位。 一旦编译已经成功完成,我们可以安装内核到本地系统中(我会马上解释如何在其他系统上安装内核[交叉编译])。在相同的终端下,在编译完成后,输入"make install"。这会在/boot目录下存放一些文件。"vmlinuz"(或者其他相似的名字)是内核自身。"initrd"是基于内存的文件系统,它被置于内存中且在启动中使用。"System-map"包含了一张内核符号列表。这些全局变量和函数用于内核代码。"config" 是内核的配置文件。grub.cfg会自动更新。然而,有些bootloder需要手动配置。内核安装器会自动配置Grub,LILO和SysLinux bootloder。像BURG这类bootloder需要手动配置。模块的安装同样需要输入"make modules install"。 -![](http://www.linux.org/attachments/compiling_04-png.764/) +![](http://www.linux.org/attachments/compiling_04-png.764/.jpg) 注:内核和模块的安装可以写在一行-“make install && make modules_install”。 -![](http://www.linux.org/attachments/compiling_05-png.765/) +![](http://www.linux.org/attachments/compiling_05-png.765/.jpg) 一旦上面的过程完成了,用户可以通过重启系统并在开机后在终端内输入"uname -r"来确保内核已经安装。如果系统无法启动或者uname报告你预期外的版本号,这个问题可能众多问题之一引起。或者是bootloader没有正确设置,特性/配置冲突,编译失败,不正确的安装,或者其他原因。找出问题源头最好的方法是查看系统日志(如果系统已经启动到足以产生日志)。"dmsg"是一个在屏幕上打印内核日志的命令。查看错误、警告或者未预料的结果。如果系统没有启动或者没有足够启动完全来生成日志,使用live linux盘来执行诊断和修复。如果所有的都失败了,再次编译内核并确保你已经用root或者"sudo"安装了内核。 注:最好的修复系统的方式是使用live Linux发行版来移除新的/损坏的内核,接着手动修复Grub文件(或者复制一个备份)。 -一些Linux用户也喜欢安装文档,但这并不是必要。对于那些想要安装文档的用户,输入这行,这里的version是你的内核版本号 "install -d /usr/share/doc/linux-VERSION && cp -r Documentation/* /usr/share/doc/linux-VERSION"(VERSION 是内核版本号)。很明显,这需要root特权。 +一些Linux用户也喜欢安装内核文档,但这并不是必要。对于那些想要安装文档的用户,输入这行,这里的version是你的内核版本号 "install -d /usr/share/doc/linux-VERSION && cp -r Documentation/* /usr/share/doc/linux-VERSION"(VERSION 是内核版本号)。很明显,这需要root特权。 -为了编译一个如你目前内核一样特性的内核,输入这条命令"zcat /proc/config.gz > .config"。这个文件可能不存在,如果是这样,你可能需要询问你发行版/内核的开发者这个文件。"zcat"命令解压并写入数据到一个".config"文件中。记住在你希望的地方输入".config"。这个文件放置在Linux内核目录下并允许它替换当前的文件。接着,像往常一样编译安装你的内核。 +要是想编译一个如你目前内核一样特性的内核,输入这条命令"zcat /proc/config.gz > .config"。这个文件可能不存在,如果是这样,你可能需要询问你发行版/内核的开发者这个文件。"zcat"命令解压并写入数据到一个".config"文件中。记住把".config"放到合适的位置。这个文件应该放置在Linux内核目录下,并允许它替换当前的文件。接着,像往常一样编译安装你的内核即可。 -交叉编译稍微有点不同。为目标系统配置内核。确保内核配置完后,它在脑海中交叉配置过了。当交叉编译时,需要熟悉两条术语。"Host"是执行编译的系统,"Target"是接收新内核的系统。确保主机系统有合适的编译器。比如,对于ARM系统的交叉编译,用户需要在主机系统上有gcc-arm-linux-gnueabi。通常来说,开发这可以在他们的包管理器上搜寻或者Googledao合适/最好的适合他们需要的交叉编译器。特定的用于ARM系统交叉编译的命令是"make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi-"。"ARCH=arm"指的是目标处理器的类型,"CROSS_COMPILE"指明了交叉编译器。注意交叉编译器前面缺少了"gcc-"并以破折号结束。这是用户在使用交叉编译器作为参数使用时必须使用的格式。模块可以通过输入"make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- modules".交叉编译。为了在目标系统上安装内核,复制内核文件夹到目标系统上。一旦文件已在目标系统上并在该目录下打开了终端,输入"make install && make modules_install"。当然你必须是root或者使用"sudo"。 +交叉编译稍微有点不同。为目标系统配置内核。确保内核配置完后,它是以交叉编译配置的。当交叉编译时,需要熟悉两条术语。"Host"是执行编译的系统,"Target"是接收新内核的系统。确保Host主机系统有合适的编译器。比如,对于ARM系统的交叉编译,用户需要在主机系统上有gcc-arm-linux-gnueabi。通常来说,开发者可以在他们的包管理器上搜寻或者Google到合适/最好的适合他们需要的交叉编译器。比如用于ARM系统交叉编译的命令是"make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi-"。"ARCH=arm"指的是目标处理器的类型,"CROSS_COMPILE"指明了交叉编译器。注意交叉编译器前面缺少了"gcc-"并以连字符结束。这是用户在使用交叉编译器作为参数使用时必须使用的格式。模块可以通过输入"make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- modules"来交叉编译。为了在目标系统上安装内核,将内核文件夹复制到目标系统上。一旦文件已在目标系统上并在该目录下打开了终端,输入"make install && make modules_install"。当然你必须是root或者使用"sudo"。 信息:Kernel.org放了一个支持的交叉编译器列表([https://www.kernel.org/pub/tools/crosstool/][1])。 @@ -36,7 +36,7 @@ make && make modules && make install && make modules_install -#### 做一个更新的版本或者重混你的内核: #### +#### 做一个更新的版本或者重整你的内核: #### zcat /proc/config.gz > .config && make && make modules && make install && make modules_install @@ -50,7 +50,7 @@ via: http://www.linux.org/threads/the-linux-kernel-compiling-and-installing.5208/ -译者:[geekpi](https://github.com/geekpi) 校对:[校对者ID](https://github.com/校对者ID) +译者:[geekpi](https://github.com/geekpi) 校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From f8c6d29138610fc0da3b88ac8bcd3236566aa1af Mon Sep 17 00:00:00 2001 From: wxy Date: Sat, 28 Jun 2014 21:50:50 +0800 Subject: [PATCH 07/56] =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../28 The Linux Kernel--Compiling and Installing.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/published/The Linux Kernel/28 The Linux Kernel--Compiling and Installing.md b/published/The Linux Kernel/28 The Linux Kernel--Compiling and Installing.md index 5beb3945bf..cb5b9a500d 100644 --- a/published/The Linux Kernel/28 The Linux Kernel--Compiling and Installing.md +++ b/published/The Linux Kernel/28 The Linux Kernel--Compiling and Installing.md @@ -26,7 +26,7 @@ 要是想编译一个如你目前内核一样特性的内核,输入这条命令"zcat /proc/config.gz > .config"。这个文件可能不存在,如果是这样,你可能需要询问你发行版/内核的开发者这个文件。"zcat"命令解压并写入数据到一个".config"文件中。记住把".config"放到合适的位置。这个文件应该放置在Linux内核目录下,并允许它替换当前的文件。接着,像往常一样编译安装你的内核即可。 -交叉编译稍微有点不同。为目标系统配置内核。确保内核配置完后,它是以交叉编译配置的。当交叉编译时,需要熟悉两条术语。"Host"是执行编译的系统,"Target"是接收新内核的系统。确保Host主机系统有合适的编译器。比如,对于ARM系统的交叉编译,用户需要在主机系统上有gcc-arm-linux-gnueabi。通常来说,开发者可以在他们的包管理器上搜寻或者Google到合适/最好的适合他们需要的交叉编译器。比如用于ARM系统交叉编译的命令是"make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi-"。"ARCH=arm"指的是目标处理器的类型,"CROSS_COMPILE"指明了交叉编译器。注意交叉编译器前面缺少了"gcc-"并以连字符结束。这是用户在使用交叉编译器作为参数使用时必须使用的格式。模块可以通过输入"make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- modules"来交叉编译。为了在目标系统上安装内核,将内核文件夹复制到目标系统上。一旦文件已在目标系统上并在该目录下打开了终端,输入"make install && make modules_install"。当然你必须是root或者使用"sudo"。 +交叉编译稍微有点不同。为目标系统配置内核。确保内核配置完后,它是以交叉编译配置的。当交叉编译时,需要熟悉两条术语。"Host"是执行编译的系统,"Target"是接收新内核的系统。确保Host主机系统有合适的编译器。比如,对于ARM系统的交叉编译,用户需要在主机系统上有gcc-arm-linux-gnueabi。通常来说,开发者可以在他们的包管理器上搜寻或者Google到合适/最好的适合他们需要的交叉编译器。比如用于ARM系统交叉编译的命令是"make ARCH=arm CROSS\_COMPILE=arm-linux-gnueabi-"。"ARCH=arm"指的是目标处理器的类型,"CROSS\_COMPILE"指明了交叉编译器。注意交叉编译器前面缺少了"gcc-"并以连字符结束。这是用户在使用交叉编译器作为参数使用时必须使用的格式。模块可以通过输入"make ARCH=arm CROSS\_COMPILE=arm-linux-gnueabi- modules"来交叉编译。为了在目标系统上安装内核,将内核文件夹复制到目标系统上。一旦文件已在目标系统上并在该目录下打开了终端,输入"make install && make modules_install"。当然你必须是root或者使用"sudo"。 信息:Kernel.org放了一个支持的交叉编译器列表([https://www.kernel.org/pub/tools/crosstool/][1])。 From 9424e5c2a6392450ffd8777b814974fc986d9ebb Mon Sep 17 00:00:00 2001 From: wxy Date: Sat, 28 Jun 2014 22:16:37 +0800 Subject: [PATCH 08/56] =?UTF-8?q?=E6=94=B6=E5=9B=9E=E8=BF=87=E6=9C=9F?= =?UTF-8?q?=E6=9C=AA=E5=AE=8C=E6=88=90=E7=9A=84=E7=BF=BB=E8=AF=91=EF=BC=8C?= =?UTF-8?q?=E4=B8=80=E5=91=A8=E5=86=85=E6=9C=AA=E5=AE=8C=E6=88=90=EF=BC=8C?= =?UTF-8?q?=E4=B9=9F=E6=B2=A1=E6=9C=89=E5=91=8A=E7=9F=A5=E7=9A=84=EF=BC=8C?= =?UTF-8?q?=E4=BC=9A=E6=94=B6=E5=9B=9E=E9=87=8D=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ur Awesome Free Alternatives to Ubuntu One Cloud Storage.md | 1 - sources/talk/20140607 Raspberry Pi In Schools.md | 1 - .../talk/20140610 The Best Linux Distribution for New Users.md | 1 - ...140611 HTG Explains--What is Unix and Why Does It Matter.md | 1 - .../20140616 How to Rescue a Non-booting GRUB 2 on Linux.md | 3 --- sources/tech/20140616 How to diskless boot a Linux machine.md | 2 -- ... Screenshot App Shutter Updates with Bug Fixes, New Icon.md | 2 -- .../20140620 Tips to Push Your Git Skills to the Next Level.md | 2 -- 8 files changed, 13 deletions(-) diff --git a/sources/talk/20140607 Four Awesome Free Alternatives to Ubuntu One Cloud Storage.md b/sources/talk/20140607 Four Awesome Free Alternatives to Ubuntu One Cloud Storage.md index 3c58c0ac03..e699df2cae 100644 --- a/sources/talk/20140607 Four Awesome Free Alternatives to Ubuntu One Cloud Storage.md +++ b/sources/talk/20140607 Four Awesome Free Alternatives to Ubuntu One Cloud Storage.md @@ -1,4 +1,3 @@ -Translated by Ramerzhang Four Awesome Free Alternatives to Ubuntu One Cloud Storage ================================================================================ ![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/04/ass.jpg) diff --git a/sources/talk/20140607 Raspberry Pi In Schools.md b/sources/talk/20140607 Raspberry Pi In Schools.md index db9a7bb9b1..131a046d42 100644 --- a/sources/talk/20140607 Raspberry Pi In Schools.md +++ b/sources/talk/20140607 Raspberry Pi In Schools.md @@ -1,4 +1,3 @@ -zpl1025 translating Raspberry Pi In Schools ================================================================================ > Teaching the world to code is a noble goal, but how is it going to work in practice? diff --git a/sources/talk/20140610 The Best Linux Distribution for New Users.md b/sources/talk/20140610 The Best Linux Distribution for New Users.md index b504580b11..e9764674a8 100644 --- a/sources/talk/20140610 The Best Linux Distribution for New Users.md +++ b/sources/talk/20140610 The Best Linux Distribution for New Users.md @@ -1,4 +1,3 @@ -linuhap翻译中 The Best Linux Distribution for New Users ================================================================================ This is a debate that most certainly brings out the beast in many a Linux user. The argument doesn't generally boil down to which distribution is truly best suited for new users, but which distribution is favored by those in the debate. If we set our personal preferences aside, a clearer picture can arise. But even that clarity can quickly get obscured by the needs and desires of the new users. Given that, I decided to take a different approach to finding the “best distro for new users." My criteria for best distribution must not only be easy to use, but also must appeal to a more modern design aesthetic brought about by the ever-growing thrust of the mobile interface metaphor. diff --git a/sources/talk/20140611 HTG Explains--What is Unix and Why Does It Matter.md b/sources/talk/20140611 HTG Explains--What is Unix and Why Does It Matter.md index 5ab74993a3..bb30d87f14 100644 --- a/sources/talk/20140611 HTG Explains--What is Unix and Why Does It Matter.md +++ b/sources/talk/20140611 HTG Explains--What is Unix and Why Does It Matter.md @@ -1,4 +1,3 @@ -[translating | sailing] HTG Explains: What is Unix and Why Does It Matter? ================================================================================ ![](http://cdn.howtogeek.com/wp-content/uploads/2014/02/ken-thompson-and-dennis-richie-at-pdp-11.jpg) diff --git a/sources/tech/20140616 How to Rescue a Non-booting GRUB 2 on Linux.md b/sources/tech/20140616 How to Rescue a Non-booting GRUB 2 on Linux.md index b7b8119d0c..d53dd78844 100644 --- a/sources/tech/20140616 How to Rescue a Non-booting GRUB 2 on Linux.md +++ b/sources/tech/20140616 How to Rescue a Non-booting GRUB 2 on Linux.md @@ -1,6 +1,3 @@ - ->>chenguang is translating it - How to Rescue a Non-booting GRUB 2 on Linux ================================================================================ ![Figure 1: GRUB 2 menu with cool Apollo 17 background.](http://www.linux.com/images/stories/41373/grub-command-shell.jpg) diff --git a/sources/tech/20140616 How to diskless boot a Linux machine.md b/sources/tech/20140616 How to diskless boot a Linux machine.md index 37d980bc8d..86870d7d55 100644 --- a/sources/tech/20140616 How to diskless boot a Linux machine.md +++ b/sources/tech/20140616 How to diskless boot a Linux machine.md @@ -1,5 +1,3 @@ -zsJacky translating - How to diskless boot a Linux machine ================================================================================ Diskless booting implies that a client computer does not have any disk storage when booting an operating system. In that case, the computer can load the kernel as well as the root filesystem from a remote NFS server over network. It may use several different methods to load the kernel and the root filesystem from an NFS server: RARP, BOOTP or DHCP protocols. In this tutorial, I will use BOOTP/DHCP protocol because they are supported by many network cards. diff --git a/sources/tech/20140616 Linux Screenshot App Shutter Updates with Bug Fixes, New Icon.md b/sources/tech/20140616 Linux Screenshot App Shutter Updates with Bug Fixes, New Icon.md index befaf9834a..49f33e777e 100644 --- a/sources/tech/20140616 Linux Screenshot App Shutter Updates with Bug Fixes, New Icon.md +++ b/sources/tech/20140616 Linux Screenshot App Shutter Updates with Bug Fixes, New Icon.md @@ -1,5 +1,3 @@ -Translating by shipsw - Linux Screenshot App Shutter Updates with Bug Fixes, New Icon ================================================================================ ![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/06/shutter.jpg) diff --git a/sources/tech/20140620 Tips to Push Your Git Skills to the Next Level.md b/sources/tech/20140620 Tips to Push Your Git Skills to the Next Level.md index c174a4c4bf..39265c0150 100644 --- a/sources/tech/20140620 Tips to Push Your Git Skills to the Next Level.md +++ b/sources/tech/20140620 Tips to Push Your Git Skills to the Next Level.md @@ -1,5 +1,3 @@ -hyaocuk is translating - 10 Tips to Push Your Git Skills to the Next Level ================================================================================ Recently we published a couple of tutorials to get you familiar with [Git basics][1] and [using Git in a team environment][2]. The commands that we discussed were about enough to help a developer survive in the Git world. In this post, we will try to explore how to manage your time effectively and make full use of the features that Git provides. From afe320feba785da17e4964b722dde3e3e161c4fb Mon Sep 17 00:00:00 2001 From: CNprober Date: Sat, 28 Jun 2014 22:25:45 +0800 Subject: [PATCH 09/56] =?UTF-8?q?=E5=8D=A0=E5=9D=91,=20Tips=20to=20Push=20?= =?UTF-8?q?Your=20Git=20skills...?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../20140620 Tips to Push Your Git Skills to the Next Level.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sources/tech/20140620 Tips to Push Your Git Skills to the Next Level.md b/sources/tech/20140620 Tips to Push Your Git Skills to the Next Level.md index 39265c0150..41b7324b6f 100644 --- a/sources/tech/20140620 Tips to Push Your Git Skills to the Next Level.md +++ b/sources/tech/20140620 Tips to Push Your Git Skills to the Next Level.md @@ -1,3 +1,5 @@ +CNprober 翻译中... 619913541 + 10 Tips to Push Your Git Skills to the Next Level ================================================================================ Recently we published a couple of tutorials to get you familiar with [Git basics][1] and [using Git in a team environment][2]. The commands that we discussed were about enough to help a developer survive in the Git world. In this post, we will try to explore how to manage your time effectively and make full use of the features that Git provides. From ee5baaa17a7a13a8d64dc71e938c7f9ba4a73e9f Mon Sep 17 00:00:00 2001 From: wxy Date: Sat, 28 Jun 2014 23:04:30 +0800 Subject: [PATCH 10/56] =?UTF-8?q?=E7=BF=BB=E8=AF=91=E8=A1=A5=E5=AE=8C?= =?UTF-8?q?=EF=BC=9A20140620=20How=20to=20enable=20testing=20and=20unstabl?= =?UTF-8?q?e=20repository=20on=20Debian?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @213edu --- ...sting and unstable repository on Debian.md | 161 ------------------ ...sting and unstable repository on Debian.md | 159 +++++++++++++++++ 2 files changed, 159 insertions(+), 161 deletions(-) delete mode 100644 sources/tech/20140620 How to enable testing and unstable repository on Debian.md create mode 100644 translated/tech/20140620 How to enable testing and unstable repository on Debian.md diff --git a/sources/tech/20140620 How to enable testing and unstable repository on Debian.md b/sources/tech/20140620 How to enable testing and unstable repository on Debian.md deleted file mode 100644 index aab26e9a18..0000000000 --- a/sources/tech/20140620 How to enable testing and unstable repository on Debian.md +++ /dev/null @@ -1,161 +0,0 @@ -How to enable testing and unstable repository on Debian -如何在Debian启用测试版/不稳定版的库(testing and unstable repository) -================================================================================ -为何要启用测试版/不稳定版? - -测试版/不稳定版的Debian给开发者提供了一个比当前稳定版更新的环境以及软件。你们注意到了么?其实这些稳定版啊不稳定版啊神马的都是别名,比方说稳定版其实就是Debian的稳定发行版,而测试版将会是下一个Debian的稳定发行版(当然那是测试后的事了)。截至发稿为止,当前Debian的稳定发行版是Wheezy 7.x,将会成为下一个稳定版的测试版则是Jessie。 - -当你需要一款应用的最新版本的时候,启用测试版/不稳定版将会是不二的选择。当初我工作需要安装个Apache的 2.4.x到我的Debian Wheezy。测试版需要的是2.4.x的,可是我的repo只有2.2.x的。所以最好的解决方案当时是在测试版下下来啦。 - -通常来说当我们想尝试最新版本的应用时都应只会使用测试版的系统。 - -在这篇文章里我将教大家如何在不弄坏你系统的前提下设置好测试、不稳定版的Debain系统病在上面安装软件。 - -> Stable < Testing < Unstable (稳定 < 测试版 < 不稳定版) -> Wheezy < Jessie < Sid - -### 1. 设置测试版/不稳定版的apt源 ### - -第一步是把测试版/不稳定版的源加到你的sources.list文件里。在Debian Wheezy系统上,/etc/apt/sources.list理应长得像这样: - - $ cat /etc/apt/sources.list - ----------- - - ... - deb http://security.debian.org/ wheezy/updates main - deb http://http.us.debian.org/debian/ wheezy main - deb-src http://security.debian.org/ wheezy/updates main - ... - -把你repo服务器的链接记下来,比如:http://http.us.debian.org/debian/ - -这个repo服务器将会是离你最近的一个服务器; 在不同的地理位置会有不同的url,这个将会用于下一步。 - -如果想加测试/不稳定源,则需要在sources.list文件加上这些东西: - - # Testing repository - main, contrib and non-free branches - deb http://http.us.debian.org/debian testing main non-free contrib - deb-src http://http.us.debian.org/debian testing main non-free contrib - - - # Testing security updates repository - deb http://security.debian.org/ testing/updates main contrib non-free - deb-src http://security.debian.org/ testing/updates main contrib non-free - - - # Unstable repo main, contrib and non-free branches, no security updates here - deb http://http.us.debian.org/debian unstable main non-free contrib - deb-src http://http.us.debian.org/debian unstable main non-free contrib - -格式将会是 - - deb - (deb <上一步弄的服务器/镜像url> ) - -当然啦,除了用testing或者unstable这么烂的词,他们的名称也是能使用的,比如Jessie或者Sid - - deb http://http.us.debian.org/debian jessie main non-free contrib - deb http://security.debian.org/ jessie/updates main contrib non-free - deb http://http.us.debian.org/debian sid main non-free contrib - -### 2. Do some apt pinning - Important ! ### <-怎么翻译 - -> 在加了测试/不稳定的repo之后,当你更新系统的时候所有安装过并且可用的软件就会立马更新,而后你的系统就被你玩火自焚了。 - -所以在在升级的时候我们必须要加一些限制,才能让我们在升级的时候选择特定的包。 《-这句被我翻译坏了帮帮忙修一下 - -This is done through "apt pinning" where we tell the apt system to use only the stable system as always, but we may select to install a particular package from the testing or unstable repository if we wish to. -在这里,我们可以使用apt pinning来告诉apt系统哪些包需要保持不动,哪些包需要 - -The apt pinning preferences can be configured into either of the following 2 files. - - /etc/apt/preferences - OR - /etc/apt/preferences.d/my_preferences - -Open either of the 2 locations (create one if it does not exist) and fill the following into the file - - Package: * - Pin: release a=stable - Pin-Priority: 700 - - Package: * - Pin: release a=testing - Pin-Priority: 650 - - Package: * - Pin: release a=unstable - Pin-Priority: 600 - -Mentioned earlier, stable will point to your current debian version, testing to the next, and unstable would be further away in future. Main thing to note is the priority. The stable/current version has been given the highest priority which means that for regular tasks apt-get will install packages only from the current stable repository (wheezy in this case). - -#### Update the package cache #### - -After adding the new repository and specify the pinning rules, update the package cache. - - $ sudo apt-get update - -#### Confirm the apt policy #### - -We must ensure that the pinning configuration is correct and that the priorities are met correctly. Check the effective apt policy with the apt-cache command - - $ apt-cache policy apache2 - apache2: - Installed: (none) - Candidate: 2.2.22-13 - Version table: - 2.4.7-1 0 - 600 http://http.us.debian.org/debian/ unstable/main amd64 Packages - 2.4.6-3 0 - 650 http://http.us.debian.org/debian/ testing/main amd64 Packages - 2.2.22-13 0 - 700 http://http.us.debian.org/debian/ wheezy/main amd64 Packages - -The above output confirms that version 2.2.22 ( the wheezy main/stable ) repository is selected, its on highest priority. - -### 3. Install apps from testing/unstable source ### - -Now its time to pick a particular package out from the testing or unstable repo and install it. So lets say we want to install apache2 from testing source. - -There are 2 ways to do it and each has a different effect. - -#### Method 1 #### - - # apt-get install apache2/testing - -The above command will install the apache2 package from the testing source and install dependencies from stable source (or whatever the apt policy holds). This command fail in situations where the dependencies are outdated compared to what the installation package (apache2) needs. - -#### Method 2 #### - - # apt-get -t testing install apache2 - -The above command will install apache2 from testing source and install all dependencies from testing source as well. This should work better than the above command. - -So to install newer version of any package, simply head towards the testing/unstable sources and enjoy. Note that the priority numbers are not just plain numbers, but have special meanings. Check the man page on apt preferences to learn more about them - - $ man 5 apt_preferences - -### Summary ### - -Using the testing/unstable repository with pinning is an easy way to get newer versions of packages, but it is not recommended. If done wrong, it can mess up the system by pulling packages from different branches that may not be compatible. - -A more recommended method to install updated packages is using the backports repository. It provides newer versions of selected packages from testing/unstable repo, but compiled for the current stable version. So on debian wheezy you can use wheezy-backports repository. Check out http://backports.debian.org/ for more information. - -### Resources ### - -- [https://wiki.debian.org/AptPreferences][1] -- [https://wiki.debian.org/DebianTesting][2] -- [https://www.debian.org/security/][3] - --------------------------------------------------------------------------------- - -via: http://www.binarytides.com/enable-testing-repo-debian/ - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://wiki.debian.org/AptPreferences -[2]:http://wiki.debian.org/DebianTesting -[3]:http://www.debian.org/security/ diff --git a/translated/tech/20140620 How to enable testing and unstable repository on Debian.md b/translated/tech/20140620 How to enable testing and unstable repository on Debian.md new file mode 100644 index 0000000000..e506e95088 --- /dev/null +++ b/translated/tech/20140620 How to enable testing and unstable repository on Debian.md @@ -0,0 +1,159 @@ +如何在Debian中启用测试版/不稳定版的软件库 +================================================================================ +为何要启用测试版/不稳定版? + +测试版/不稳定版的Debian给开发者提供了一个比当前稳定版更新的环境以及软件。你们注意到了么?其实这些稳定版啊不稳定版啊神马的都是别名,比方说稳定版其实就是Debian的稳定发行版,而测试版将会是下一个Debian的稳定发行版(当然那是测试后的事了)。截至发稿为止,当前Debian的稳定发行版是Wheezy 7.x,将会成为下一个稳定版的测试版则是Jessie。 + +当你需要一款应用的最新版本的时候,启用测试版/不稳定版将会是不二的选择。当初我因为工作需要,要安装个Apache的 2.4.x到我的Debian Wheezy。测试版需要的是2.4.x的,可是我的软件库里面只有2.2.x的。所以最好的解决方案当时是将测试版下下来啦。 + +通常来说当我们想尝试最新版本的应用时,都应该只在测试版软件库中搜索。 + +在这篇文章里我将教大家如何在不弄坏你系统的前提下设置好测试、不稳定版的Debain系统并在上面安装软件。 + +> Stable < Testing < Unstable (稳定 < 测试版 < 不稳定版) +> Wheezy < Jessie < Sid + +### 1. 设置测试版/不稳定版的apt源 ### + +第一步是把测试版/不稳定版的源加到你的sources.list文件里。在Debian Wheezy系统上,/etc/apt/sources.list理应长得像这样: + + $ cat /etc/apt/sources.list + +---------- + + ... + deb http://security.debian.org/ wheezy/updates main + deb http://http.us.debian.org/debian/ wheezy main + deb-src http://security.debian.org/ wheezy/updates main + ... + +把你repo服务器的链接记下来,比如:http://http.us.debian.org/debian/ + +这个repo服务器将会是离你最近的一个服务器; 在不同的地理位置会有不同的url,这个将会用于下一步。 + +如果想加测试/不稳定源,则需要在sources.list文件加上这些东西: + + # Testing repository - main, contrib and non-free branches + deb http://http.us.debian.org/debian testing main non-free contrib + deb-src http://http.us.debian.org/debian testing main non-free contrib + + + # Testing security updates repository + deb http://security.debian.org/ testing/updates main contrib non-free + deb-src http://security.debian.org/ testing/updates main contrib non-free + + + # Unstable repo main, contrib and non-free branches, no security updates here + deb http://http.us.debian.org/debian unstable main non-free contrib + deb-src http://http.us.debian.org/debian unstable main non-free contrib + +格式将会是 + + deb + (deb <上一步弄的服务器或镜像url> ) + +当然啦,除了用testing或者unstable这么烂的词,也能使用他们的发行版代号,比如Jessie或者Sid + + deb http://http.us.debian.org/debian jessie main non-free contrib + deb http://security.debian.org/ jessie/updates main contrib non-free + deb http://http.us.debian.org/debian sid main non-free contrib + +### 2. 钉住 apt!这非常重要 ### + +> 在加了测试/不稳定的repo之后,当你更新系统的时候所有安装过并且可用的软件就会立马更新,而后你的系统就被你玩火自焚了。 + +所以需要设置一些规则,以便选定的软件包在正常的更新时不会被更新到一个不稳定的测试版本。 + +我们需要使用“钉住APT”的方式来告诉apt系统,除了我们希望使用测试版或不稳定版的特定软件包之外,其它的总是使用稳定版的软件包来更新。 + +可以通过如下两个文件之一来设置如何设置APT的优先级来“钉住”。 + + /etc/apt/preferences + 或 + /etc/apt/preferences.d/my_preferences + +打开这两个文件之一(如果没有的话就创建一个),然后输入如下内容: + + Package: * + Pin: release a=stable + Pin-Priority: 700 + + Package: * + Pin: release a=testing + Pin-Priority: 650 + + Package: * + Pin: release a=unstable + Pin-Priority: 600 + +前面我们提到过,稳定版指的是你当前的debian版本,测试版是下一个,而不稳定版则是更远的将来发行版。上面的设置中最主要的是优先级(Pin-Priority)。当前的稳定版应该有最高的优先级,这就是说,正常的apt-get操作只会从当前的稳定版的软件库(现在是wheezy)里面安装软件。 + +#### 更新包缓存 #### + +在增加了新的软件库和指定了优先规则后,需要更新一下包缓存。 + + $ sudo apt-get update + +#### 确认APT规则 #### + +我们必须确认“钉住”的设置正确,优先级也没问题。使用 apt-cache 的 policy 参数来检查: + + $ apt-cache policy apache2 + apache2: + Installed: (none) + Candidate: 2.2.22-13 + Version table: + 2.4.7-1 0 + 600 http://http.us.debian.org/debian/ unstable/main amd64 Packages + 2.4.6-3 0 + 650 http://http.us.debian.org/debian/ testing/main amd64 Packages + 2.2.22-13 0 + 700 http://http.us.debian.org/debian/ wheezy/main amd64 Packages + +如上的输出,确认在wheezy 稳定版中, 2.2.22 版本的Apache是选定的版本,它有最高的优先级。 + +### 3. 从测试版/不稳定版软件库中安装软件 ### + +现在可以从测试版或不稳定版中选择一个特定的软件来安装它了。假如说我们要从测试版软件源中安装 apache2。 + +有两个不同的方法,并且其结果也有所不同。 + +#### 方式一 #### + + # apt-get install apache2/testing + +上述命令会从测试版软件库中安装 apache2,并从稳定版软件库中安装其依赖包(稳定版通过apt规则确定)。这个命令在某些情况下会失败,比如安装的软件包(apache2)所需的依赖包在稳定版软件库中没有更新到可以支持该软件时。 + +#### 方式二 #### + + # apt-get -t testing install apache2 + +上述命令会从测试版软件库中安装apache2,并从测试版软件库中安装其依赖包。这要比上面的命令工作的更好。 + +所以,要安装较新的软件包,直接从测试版/不稳定版的软件库中安装就行了。注意,优先级号码不只是一个数字而已,还有其特定意义。可以查看 apt_preferences的man页面了解更多: + + $ man 5 apt_preferences + +### 总结 ### + +使用“钉住”方式的测试版/不稳定版的软件库是一个获取较新版本软件包的一个好办法,不过其实并不推荐使用它们。如果弄错了,可能会从也许不兼容的分支上下载软件包,这会把你的系统搞乱。 + +一个更好的方式是,使用向后移植的软件库来安装更新的包。它从测试版和不稳定版的软件库中获取较新版本的软件包,但是为当前的稳定版软件库而编译。所以,对于 debian wheezy来说,你可以使用wheezy-backports 软件库。访问http://backports.debian.org/ 了解更多。 + +### 资源 ### + +- [https://wiki.debian.org/AptPreferences][1] +- [https://wiki.debian.org/DebianTesting][2] +- [https://www.debian.org/security/][3] + +-------------------------------------------------------------------------------- + +via: http://www.binarytides.com/enable-testing-repo-debian/ + +译者:[213edu](https://github.com/213edu) [wxy](https://github.com/wxy) 校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://wiki.debian.org/AptPreferences +[2]:http://wiki.debian.org/DebianTesting +[3]:http://www.debian.org/security/ From fe64622656e3225af8ca96f040a26e2cb6a63605 Mon Sep 17 00:00:00 2001 From: wxy Date: Sun, 29 Jun 2014 00:04:24 +0800 Subject: [PATCH 11/56] PUB:20140620 How to enable testing and unstable repository on Debian --- ...620 How to enable testing and unstable repository on Debian.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {translated/tech => published}/20140620 How to enable testing and unstable repository on Debian.md (100%) diff --git a/translated/tech/20140620 How to enable testing and unstable repository on Debian.md b/published/20140620 How to enable testing and unstable repository on Debian.md similarity index 100% rename from translated/tech/20140620 How to enable testing and unstable repository on Debian.md rename to published/20140620 How to enable testing and unstable repository on Debian.md From 7c6dad7e8779964e7bb66652cf80e9f4f1dcc8f7 Mon Sep 17 00:00:00 2001 From: wxy Date: Sun, 29 Jun 2014 18:41:14 +0800 Subject: [PATCH 12/56] PUB:20140617 14 Apps To Boost Ubuntu @owen-carter --- published/20140617 14 Apps To Boost Ubuntu.md | 82 ++++++++++++++ .../talk/20140617 14 Apps To Boost Ubuntu.md | 107 ------------------ 2 files changed, 82 insertions(+), 107 deletions(-) create mode 100644 published/20140617 14 Apps To Boost Ubuntu.md delete mode 100644 translated/talk/20140617 14 Apps To Boost Ubuntu.md diff --git a/published/20140617 14 Apps To Boost Ubuntu.md b/published/20140617 14 Apps To Boost Ubuntu.md new file mode 100644 index 0000000000..943eddf5d5 --- /dev/null +++ b/published/20140617 14 Apps To Boost Ubuntu.md @@ -0,0 +1,82 @@ +14个可以提升Linux桌面体验的应用程序 +============================== + +转战到Ubuntu,或者是别的流行的Linux发行版,不仅仅是操作系统的操作方式的改变,更多的是你还需要一些能支持你完成工作的好的应用。 + +在这篇文章中,我将分享一些我精选出来不可或缺的应用程序,并谈谈在我的日常工作中如何有效地使用它们。 + +### 日常使用的应用程序 ### + +一般当说到Linux桌面上的应用,我总是将这些应用划分为两大类,频繁使用的和一些别的应用。下边我为大家介绍的是一些自己日常使用的应用。 + +1) **Firefox** — 有时我也会使用用其他的浏览器,但最近[火狐浏览器][1]已经成为我可以长期信赖的朋友。可靠的、 安全的、 跨平台的,火狐浏览器完全满足了我的日常冲浪需求。 + +除了访问书签和网页,我还依靠火狐浏览器来处理我的各种部署在局域网服务器上的工作,如 [Plex][2], [Zoneminder][3], 路由器/WEB应用防火墙, 及我的文件服务器。所有这些均可以使用火狐浏览器进行访问。 + +2) **Parcelite**— 如果没有一个像样的剪贴板管理器我简直没法开始工作,至少对我来说,你无法找到在GNOME 下的[Parcelite][4]有什么不足。使用简单,易于访问而且它提供了很多的有用的选项。Parcelite选项应有尽有,包括了从热键设置到空格处理方式。尽管已经有很多的剪贴板管理器,但它们却很难击败 Parcelite。 + +3) **Bittorrent Sync** — 我已经使用过了各种开源替代方案进行文件同步,但是他们在正式发布之前还需要进行进一步开发。应该说[Bittorrent Synchas][5]从来没有让我失望过。它运行和安装都很简单和方便,这多亏了新的GUI的实现,而且 Bittorrent Sync 允许我快速地从一台机器到另外一台机器传输巨大的视频文件,而无需浪费时间去将大量的文件同步到“云端”。 + +我还发现它是与别人分享大型文件的最佳方法,在分享的同时能一直保持 IP 地址和目录的隐蔽。尽管有许多的替代品,我仍然坚定地成为了Bittorrent Sync的骨灰粉丝。 + +4) **System Monitor** — 因为TOP实在是滚动地太快了,所以我个人更喜欢一个具有选项卡式的 GUI,因为它能够让我的眼睛更轻松些。使用 GNOME 的系统监视器,我可以很快地发现一个失控的进程,并且轻松地kill掉它而不需吹灰之力。与[TOP][7]这样的终端程序不同的是,我可以实时的以图形化的方式去查看我的 CPU、 内存和磁盘的使用情况。作为一个拥有正常视觉的人,很难找到一个比用条形图来展示我还拥有多少的空间的更好方式。当然这也同样适用于其它的实时资源使用情况的监视。 + +5) **PulseAudioControl** — 每一天,我总是需要在多个声音设备之间来回穿梭。有时我需要将其中一个设为默认设备,然后却可能会从火狐浏览器音频完全切换到到另一个设备。因为我想控制我的尽可能多的音频,然后我就发现 [PulseAudioControl][8]是一个无价的工具。 + +### 一些别的软件 ### + +在本节中,我将分享我使用,但可能并不一定是每天都使用的应用程序。许多这些应用程序都是开放源代码的,有一些不是,但是它们对我个人都非常具有价值。 + + +6) **Skype** — 无论是拨入[Jupiter Broadcasting][9] 收听每周共同主持的播客,或者只是简单联系一个业务,[Skype][10] 见证了互联网视频会议的发展史。测试完成无数的替代品后,我总是会发现自己还是终回到了Skype。即使有真的很棒的开源选择像[Ekiga][11] 和 [Jitsi][12],而在最后Skype总是与大家同在 —— 切换到Skype是一件很幸运的事。 + +7)**Kdenlive** — 我使用两个不同的视频编辑器,当我要处理一个需要大量编辑的视频剪辑项目的时候,[Kdenlive][13]是我用于图片合成和编辑大型的复杂的视频的工具。我已经成功地在 Kdenlive 里边做过6个素材轨道的编辑,但同样的负载量早已经让别的视频剪辑软件崩溃了。 + +8)**OpenShot** — 大多数情况下,我会将[OpenShot][14]作为视频剪辑任务的首选神兵利器。快速的编辑和两个素材轨道工作区让你可以流畅而操作简单。我还发现它提供了很棒的无与伦比的特效。调制标题效果和超赞的的视频转场效果使OpenShot在我自己的视频项目上成为一款超棒的视频制作软件。 + +9)**SpiderOak** — 在使用了无数云备份服务这么多年后, [SpiderOak][15] 已经成为了我的至爱。易于安装和使用,我超喜欢它所提供的增量选项而且使用起来是如此的简单。只需一次设置,不再操心,之后SpiderOak将会挑起你的文件搬运大任。 + +10) **Dropbox** — 许多年来,我已经与[Dropbox][16] 爱恨交织。尽管它的跨平台特性这意味着我可以从任何位置访问文件,我慢慢地发现我自己越来越少依赖这个基于云计算的备份解决方案。尽管如此,它允许我从任何 web 浏览器中访问文件,即使是从我不经常使用的计算机,这使得抛弃 Dropbox 更是难上加难。 + +11) **Writer** — 自从我第一次在Windows的OpenOffice里面使用过它之后,我一直都在使用[Writer][17]。今天,我使用LibreOffice 所带的Writer来满足我的需求,它可以做一切一个文字处理器可以做的事情。现在,公正地说,一些专有的办公套件可能会提供附加功能在Writer中是没有的,但是99%的人需要的功能在Writer这里都有。就我个人而言,我会永远是一个LibreOffice Writer粉。 + +12)**SimpleScreenRecorder** — 多年来,我发现自己使用 [SimpleScreenRecorder][18]远超过其他同类软件,它能很好支持多监视器模式,再加上它甚至可以捕获基于 OpenGL 的应用程序的视频。易于使用和可靠的 SimpleScreenRecorder 让我的工作更加得心应手。我把它推荐给那些只是偶尔需要,懒得使用其它屏幕捕捉软件的同学们。 + +13)**SimpleScan** — 当我需要扫描文档的时候,我一点都不想将大把大把的时间花费在配置的臃肿的程序上。 [Simple Scan][19] 可以在这方面做得很好。智能的SANE扫描数据库,Simple Scan将与市面上的任何扫描仪或多功能一体打印机/扫描仪很好的进行协作。此外还有一点好处就是它会设置成的最佳分辨率,当然你还可以很方便手动调整任何你需要的设置。 + +14)**Baobab**(磁盘使用分析器) — 我不断听到关于如何硬盘价格已回落。这或许没错,但现实却是我却囊中羞涩。这意味着我需要充分利用我能利用的所有硬盘空间,为了实现这个目的,我使用 [Baobab][20] 来观察我在我的硬盘上的可用空间,而且还可以直观地看到到底是哪一个目录正在蚕食我宝贵的硬盘空间。 + +### 真正的具有生产力的软件 ### + +谈到我所依赖的这些软件,我们真正关心的是他们能为我们完成什么样的任务,而不是它们所拥有的光辉头衔和自身的许可证。linux不需要软件的传奇时代早已过去。多数的计算机上的工作,除了有限的几个例外,大都可以在linux桌面上轻松地如我所说的那样完成。 + +很明显有一些对于你来说是必不可少的软件,但是也许不是我必须用的。你所倚重的软件是什么?您可在下方进行评论并与我们的读者进行分享那些优秀的软件。 + +------ + +via: http://www.datamation.com/applications/14-apps-to-boost-ubuntu-1.html + +译者:[owen-carter](https://github.com/owen-carter) 校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.mozilla.org/en-US/firefox/new/ +[2]:https://plex.tv/ +[3]:http://www.zoneminder.com/ +[4]:http://parcellite.sourceforge.net/ +[5]:http://www.bittorrent.com/sync +[6]:https://help.gnome.org/users/gnome-system-monitor/3.12/ +[7]:http://linux.about.com/od/commands/l/blcmdl1_top.htm +[8]:http://freedesktop.org/software/pulseaudio/pavucontrol/ +[9]:http://en.wikipedia.org/wiki/Jupiter_Broadcasting +[10]:http://www.skype.com/en/download-skype/skype-for-linux/ +[11]:http://ekiga.org/ +[12]:https://jitsi.org/ +[13]:http://www.kdenlive.org/ +[14]:http://www.openshot.org/ +[15]:https://spideroak.com/ +[16]:https://www.dropbox.com/ +[17]:http://www.libreoffice.org/discover/writer/ +[18]:http://www.maartenbaert.be/simplescreenrecorder/ +[19]:https://launchpad.net/simple-scan +[20]:http://www.marzocca.net/linux/baobab/baobab-getting-started.html \ No newline at end of file diff --git a/translated/talk/20140617 14 Apps To Boost Ubuntu.md b/translated/talk/20140617 14 Apps To Boost Ubuntu.md deleted file mode 100644 index 63fcec5938..0000000000 --- a/translated/talk/20140617 14 Apps To Boost Ubuntu.md +++ /dev/null @@ -1,107 +0,0 @@ -14个可以提升Ubuntu体验的应用程序 - -转战到Ubuntu-或者是别的流行的Linux发行版-不仅仅是操作系统的操作方式的改变,更多的是你还需要一些能支持你完成工作的好的apps。 - - -在这篇文章中,我将分享一些我使用的关键的基础应用程序,我将谈谈在我的日常工作中如何有效地使用它们。 - - - - -### 日常使用的应用程序 ### - - -一般当说到Linux 桌面上的应用,我总是将这些应用划分为两大类,频繁使用的和一些别的应用。下边我为大家介绍的是一些自己日常使用的应用。 - - -1) **Firefox** — 有时我也会使用用其他的浏览器,但最近[火狐浏览器][1]已经成为我可以长期信赖的朋友。可靠的、 安全的、 跨平台的,火狐浏览器完全满足了我的日常冲浪需求。 - - -除了访问书签和网页,我还依靠火狐浏览器来处理我各种局域网服务器的事务,如 [Plex][2], [Zoneminder][3], router/WAPs, 和我的文件服务器。所有这些均可以使用火狐浏览器进行访问。 - - -2) **Parcelite**— 如果没有一个像样的剪贴板管理器我简直没法开始工作,至少对我来说,你无法吐槽在GNOME 桌面环境下的[Parcelite][4] 。使用简单,易于访问而且它提供了很多的有用的选项。Parcelite 选项包括一切从热键到white space handling的处理。尽管已经有很多的剪贴板管理器,但它们却很难击败 Parcelite 。 - - -3) **Bittorrent Sync** — 我已经使用过了各种开源替代方案,为了同步那些在发布之前还需要进行开发的那些项目,之后我发现[Bittorrent Synchas][5] 从来没有让我失望过。它运行和安装都很简单和方便这多亏了新的GUI的实现,而且 Bittorrent Sync 允许我快速地传输巨大的视频文件从机器到机器而无需浪费时间去将大量的文件同步到“云端”。 - - -我还发现它是很容易与别人分享大型文件,同时能一直保持 IP 地址和目录的隐蔽。尽管有许多的替代品,我仍然坚定地将Bittorrent Synchas作为 Bittorrent Sync变形金刚迷。 - - -4) **System Monitor** — 因为TOP实在是滚动地太快了,所以我个人更喜欢一个具有选项卡式的 GUI,因为它能够释放我的眼睛。使用 GNOME 的系统监视器,我可以很地会发现一个失控的进程,并且轻松地kill掉它而不需吹灰之力。与[TOP][7]终端应用程序不同的是,我可以使用实时图形在视觉角度去查看我的 CPU、 内存和磁盘的使用情况。作为一个拥有视觉的人,你不得不说,用条形图去展示我还拥有多少的空间,当然这也同样适用于实时的资源使用情况,这种GUI实现实在是太赞了。 - - -5) **PulseAudioControl** — 每一天,我总是需要在多个声音设备之间来回穿梭。有时我需要将其中一个设为默认设备,但然后却完全可能会从火狐浏览器音频切换到到另一个设备。因为我喜欢控制我尽可能多的音频,然后我就发现 [PulseAudioControl][8]是一个无价的工具。 - - - - -### 一些别的软件 ### - -在本节中,我将分享我使用,但可能并不一定是每天都使用的应用程序。许多这些应用程序都是开放源代码的,有一些不是,但是它们对我个人都非常具有价值。 - - -6) **Skype** — 无论它在呼唤[Jupiter Broadcasting][9] 进入每周共同主持的播客,或者只是联系上了一个业务,[Skype][10] 见证了互联网视频会议的发展史。测试完成无数的替代品后,我总是会发现自己还是终归回到 了Skype。即使有真的很棒的开源选择像[Ekiga][11] 和 [Jitsi][12],在年底的一天,Skype 与大家同在 — — 希望切换到Skype是一件很愉快的事。 - - -7)**Kdenlive** — 我使用两个不同的视频编辑器,当我要导出一个庞大的视频剪辑项目的时候。[Kdenlive][13]是我使用的图片合成和编辑大型的、 复杂的视频的工具。我已经成功地在 Kdenlive 里边管理了6个素材轨道,但同样的负载量早已经让别的视频剪辑软件崩溃了。 - - - -8)**OpenShot** — 大多数情况下,我会将[OpenShot][14]作为视频剪辑任务的首选神兵利器。快速的编辑和两个素材轨道工作区的流畅的简单操作、 方便地使用此编辑器。我还发现它提供了很棒的无与伦比的特效。混合标题效果和超赞的的视频转场效果使OpenShot成为一款超棒的视频制作软件,在我自己的视频项目上。 - - -9)**SpiderOak** — 在使用了无数云备份服务这么多年后, [SpiderOak][15] 已经成为了我的至爱,。易于安装和使用,我超喜欢它所提供的增量选项而且使用起来是如此的简单。只需一次完美设置,然后忘记,之后SpiderOak将会挑起你的文件搬运大任。 - - -10) **Dropbox** — 许多年来,我已经与[Dropbox][16] 爱恨交织。尽管它的跨平台特性这意味着我可以从任何位置访问文件,我慢慢地发现我自己越来越少依赖这个基于云计算的备份解决方案。尽管如此,它允许我从任何 web 浏览器中访问文件,即使是从我不经常使用的计算机,这使得抛弃 Dropbox 更是难上加难。 - - -11) **Writer** — 我一直以来都在使用[Writer][17] 自从我第一次使用它在 Windows 上通过 OpenOffice。今天,我使用Writer与 LibreOffice 来满足我的需求,它可以做一切一个文字处理器可以做的。现在它是公正地指出,一些在作家中找不到专有的办公套件可能会提供附加功能,但是 99%的大多数人需要的功能在Writer这里都有。就我个人而言,我会永远是一个LibreOffice Writer粉。 - - -12)**SimpleScreenRecorder** — 多年来,我发现自己使用 [SimpleScreenRecorder][18]远超过其他同类软件,它能很好支持多监视器模式,再加上它甚至可以捕获基于 OpenGL 的应用程序。易于使用和可靠的 SimpleScreenRecorder 让我的工作更加得心应手。我把它推荐给那些已经疲于使用甚至很少使用同类软件屏幕捕捉软件的同学们。 - - -13)**SimpleScan** — 当我需要扫描文档的时候,我一点都不想将大把大把的时间花费在配置的臃肿的程序上。 [Simple Scan][19] 可以在这方面做得很好。智能的扫描数据库,Simple Scan将与市面上的任何扫描仪或多功能一体打印机/扫描仪很好的进行协作。此外还有一点好处就是它会设置成的最佳分辨率,当然现在你还可以很自由的去进行任何你认为合适的手动调整。 - - -14)**Baobab**(磁盘使用分析器) — — 我不断听到关于如何硬盘价格已回落。这或许没错,但现实却是我却囊中羞涩。这意味着我需要充分利用我能利用的所有硬盘空间,为了实现这个目的,我使用 [Baobab][20] 来观察我在我的硬盘上的可用空间,而且还可以直观地看到到底是哪一个目录正在蚕食我宝贵的硬盘空间。 - - -### 真正的具有生产力的软件 ### - -谈到我所依赖的这些软件,我们真正关心的更多的是他们能为我们完成什么样的任务而不是它们所拥有的光辉头衔和自身的许可证。linux不需要软件的传奇时代早已过去。大量的计算任务,除了有限的几个例外,大都可以在linux桌面上轻松地如我所说的那样完成。 - - -很明显你应该装备一些必不可少的软件,当然那些软件并不一定是我也使用的。你所倚重的软件是什么?您可在下方进行评论并与我们的读者进行分享那些优秀的软件。 - - - -via: http://www.datamation.com/applications/14-apps-to-boost-ubuntu-1.html - -译者:[owen-carter](https://github.com/owen-carter) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://www.mozilla.org/en-US/firefox/new/ -[2]:https://plex.tv/ -[3]:http://www.zoneminder.com/ -[4]:http://parcellite.sourceforge.net/ -[5]:http://www.bittorrent.com/sync -[6]:https://help.gnome.org/users/gnome-system-monitor/3.12/ -[7]:http://linux.about.com/od/commands/l/blcmdl1_top.htm -[8]:http://freedesktop.org/software/pulseaudio/pavucontrol/ -[9]:http://en.wikipedia.org/wiki/Jupiter_Broadcasting -[10]:http://www.skype.com/en/download-skype/skype-for-linux/ -[11]:http://ekiga.org/ -[12]:https://jitsi.org/ -[13]:http://www.kdenlive.org/ -[14]:http://www.openshot.org/ -[15]:https://spideroak.com/ -[16]:https://www.dropbox.com/ -[17]:http://www.libreoffice.org/discover/writer/ -[18]:http://www.maartenbaert.be/simplescreenrecorder/ -[19]:https://launchpad.net/simple-scan -[20]:http://www.marzocca.net/linux/baobab/baobab-getting-started.html \ No newline at end of file From 095e8d8ba7a4590564ead7b78508837dc60af72c Mon Sep 17 00:00:00 2001 From: wxy Date: Sun, 29 Jun 2014 19:14:10 +0800 Subject: [PATCH 13/56] PUB:20140611 How to Prevent Other Users From Accessing Your Home Directory in Ubuntu 14.04 @GOLinux --- ...ing Your Home Directory in Ubuntu 14.04.md | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) rename {translated/tech => published}/20140611 How to Prevent Other Users From Accessing Your Home Directory in Ubuntu 14.04.md (68%) diff --git a/translated/tech/20140611 How to Prevent Other Users From Accessing Your Home Directory in Ubuntu 14.04.md b/published/20140611 How to Prevent Other Users From Accessing Your Home Directory in Ubuntu 14.04.md similarity index 68% rename from translated/tech/20140611 How to Prevent Other Users From Accessing Your Home Directory in Ubuntu 14.04.md rename to published/20140611 How to Prevent Other Users From Accessing Your Home Directory in Ubuntu 14.04.md index 085ef6bbd0..1fc3f32824 100644 --- a/translated/tech/20140611 How to Prevent Other Users From Accessing Your Home Directory in Ubuntu 14.04.md +++ b/published/20140611 How to Prevent Other Users From Accessing Your Home Directory in Ubuntu 14.04.md @@ -1,24 +1,24 @@ -如何在Ubuntu 14.04中阻止其它用户访问你的家目录 +[小白技巧]如何在Linux中阻止其它用户访问你的家目录 ================================================================================ ![](http://cdn.howtogeek.com/wp-content/uploads/2014/05/00_lead_image_home_directory.png) -如果你和其他人共享Ubuntu机器,那么你可能要设置多个用户,并考虑让其他用户登录到他们自己的帐号,而只能访问他们自己的家目录。但是,默认情况下,任何一个用户都可以访问任何一个家目录。 +如果你和其他人共享Ubuntu机器,那么你可能要设置多个用户,希望其他用户登录到他们自己的帐号,并只能访问他们自己的家目录。但是,默认情况下,任何一个用户都可以访问任何一个家目录。 -当你在Ubuntu中添加一个新用户时,adduser工具为新的帐号添加了一个新的家目录。默认情况下,该目录位于根下面的/home/目录下,并以该帐号的用户名命名。例如,/home/lori。Ubuntu中创建的用户家目录具有全局读/写权限,这就给系统中所有其他用户可以读因外一些用户的家目录中的内容的权利。具体请阅读我们的[文件权限在Linux中是如何工作的][1]一文。 +当你在Ubuntu中添加一个新用户时,adduser工具为新的帐号添加了一个新的家目录。默认情况下,该目录位于根下面的/home/目录下,并以该帐号的用户名命名。例如,/home/lori。Ubuntu中创建的用户家目录具有其它人可读/执行权限,这就给系统中所有其他用户可以读另外外一些用户的家目录中的内容的权利。具体请阅读我们的[文件权限在Linux中是如何工作的][1]一文。 -**注**:当我们在文中提到输入什么时,输入的文字内容是在引号中的,不要输入引,除非我们另外指定。 +**注**:当我们在文中提到输入什么时,输入的文字内容是在引号中的,不要输入引号,除非我们另外指定。 -你可以很容易地修改你的家目录的权限来保护你的私人文件。要检查你家目录的权限,输入Ctrl + Alt + T打开终端窗口,并在提示符后输入以下行,然后按回车。使用你自己的用户名来替换“”。 +你可以很容易地修改你的家目录的权限来保护你的私人文件。要检查你家目录的权限,输入Ctrl + Alt + T打开终端窗口,并在提示符后输入以下命令,然后按回车。使用你自己的用户名来替换下面的“用户名”。 - ls –ld /home/lori + ls -ld /home/lori -**注**:该命令使用的是小写的L,而不是数字1. +**注**:该命令仅包含小写的L,而不是数字1。(LCTT译注:这是给完全小白的提示,绝大部分人可以无视这个备注了) 在该行的开头,列出了该文件的权限。就像我们在[文章][1]中关于Linux权限部分讲的那样。 -> ”r表示“读”,w表示“写”,而x表示“执行”。目录权限以“d”开头,而不是“-”。你也会注意到权限值占了10个位置。你可以忽略第一个,后面是3个一组,分为3组。第一组是属主权限,第二组是属组权限,最后一组是大众权限“。 +> r表示“读”,w表示“写”,而x表示“执行”。目录权限以“d”开头,而不是“-”。你也会注意到权限值占了10个位置。你可以忽略第一个,后面是3个一组,分为3组。第一组是属主(owner)权限,第二组是属组(group)权限,最后一组是其它人(other或world)权限。 -因此,下面列出的家目录的属主具有读、写和执行权限,而属组和大众具有读和执行权限。 +因此,下面列出的家目录的属主具有读、写和执行权限,而属组和其它人具有读和执行权限。 ![](http://cdn.howtogeek.com/wp-content/uploads/2014/05/01_permissions_for_home_folder.png) @@ -32,7 +32,7 @@ ![](http://cdn.howtogeek.com/wp-content/uploads/2014/05/02_changing_permissions_for_home_folder.png) -按上箭头两次,再次调用“ls -ld /home/“命令来检查权限。注意,全局权限现在都是破折号(-),这就意味着大众将无法读、写或执行你家目录中的任何东西了。 +按上箭头两次,再次调用“ls -ld /home/用户名”命令来检查权限。注意,其它人权限现在都是破折号(-),这就意味着其它人将无法读、写或执行你家目录中的任何东西了。 然而,和你同组的用户可以读和执行你家目录中的文件和文件夹。如果你不想除你之外的任何人访问你的家目录,可以在chmod命令中输入“0700”。 @@ -46,7 +46,7 @@ ![](http://cdn.howtogeek.com/wp-content/uploads/2014/05/04_location_could_not_be_displayed.png) -你也可以在创建新用户时,甚至Ubuntu使用指定的权限。要完成此项任务,你需要编辑adduser配置文件。要编辑该文件,在提示符下输入以下命令并回车。 +甚至你也可以在创建新用户时让Ubuntu使用指定的权限。要完成此项任务,你需要编辑adduser配置文件。要编辑该文件,在提示符下输入以下命令并回车。 gksudo gedit /etc/adduser.conf @@ -60,7 +60,7 @@ ![](http://cdn.howtogeek.com/wp-content/uploads/2014/05/06_entering_password.png) -在adduser.conf文件中向下滚动到DIR_MODE命令处,这里的默认值是“0755”。修改该值来反映你想要授权给各种用户类型(用户,组,大众)的不同权限(r,w,x),如我们先前讨论过的“0750”或“0700“。点击保存(Save)。 +在adduser.conf文件中向下滚动到DIR_MODE命令处,这里的默认值是“0755”。修改该值来反映你想要授权给各种用户类型(属主,属组,其它人)的不同权限(r,w,x),如我们先前讨论过的“0750”或“0700”。点击保存(Save)。 ![](http://cdn.howtogeek.com/wp-content/uploads/2014/05/07_changing_dir_mode.png) @@ -72,13 +72,13 @@ ![](http://cdn.howtogeek.com/wp-content/uploads/2014/05/09_closing_terminal_window_with_x.png) -现在,你家目录中文件会保持私有。切记,如果有其他用户和你处于同一组中,你也需要为你的家目录权限剔除组和大众权限。 +现在,你家目录中文件会保持私有。切记,如果有其他用户和你处于同一组中,你也许要为你的家目录权限剔除组和大众权限。 -------------------------------------------------------------------------------- via: http://www.howtogeek.com/190084/how-to-prevent-other-users-from-accessing-your-home-directory-in-ubuntu-14.04/ -译者:[GOLinux](https://github.com/GOLinux) 校对:[校对者ID](https://github.com/校对者ID) +译者:[GOLinux](https://github.com/GOLinux) 校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From 423ada5c4deaecf07d233accb24adea641021ab4 Mon Sep 17 00:00:00 2001 From: chunxiao ye Date: Mon, 30 Jun 2014 12:06:09 +0800 Subject: [PATCH 14/56] =?UTF-8?q?=E4=B9=8C=E9=BE=99=E8=8C=B6=E7=BF=BB?= =?UTF-8?q?=E8=AF=91=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...e Box' for Ubuntu OpenStack Cloud Demos.md | 38 ------------------- ...e Box' for Ubuntu OpenStack Cloud Demos.md | 38 +++++++++++++++++++ 2 files changed, 38 insertions(+), 38 deletions(-) delete mode 100644 sources/news/20140625 Canonical Debuts 'Orange Box' for Ubuntu OpenStack Cloud Demos.md create mode 100644 translated/news/20140625 Canonical Debuts 'Orange Box' for Ubuntu OpenStack Cloud Demos.md diff --git a/sources/news/20140625 Canonical Debuts 'Orange Box' for Ubuntu OpenStack Cloud Demos.md b/sources/news/20140625 Canonical Debuts 'Orange Box' for Ubuntu OpenStack Cloud Demos.md deleted file mode 100644 index 3748577b02..0000000000 --- a/sources/news/20140625 Canonical Debuts 'Orange Box' for Ubuntu OpenStack Cloud Demos.md +++ /dev/null @@ -1,38 +0,0 @@ -乌龙茶占坑 -Canonical Debuts 'Orange Box' for Ubuntu OpenStack Cloud Demos -================================================================================ -> The Orange Box, a portable server cluster that Canonical will use for Ubuntu-based OpenStack cloud demonstrations and training, is now available. - -![](http://thevarguy.com/site-files/thevarguy.com/files/imagecache/medium_img/uploads/2014/06/grayscale_7.jpg) - -Canonical's Orange Box, the portable server cluster that the company intends to use to showcase [OpenStack][1], [MAAS][2], [Juju][3] and other aspects of the Ubuntu Linux-based cloud, is out. Here's what it's all about. - -For starters, it's important to understand what the Orange Box is not: A revenue-generating hardware product from Canonical. The company has given no indication so far that it plans to sell these devices on a large scale—although if you truly want you can [buy one][4], for the equivalent of around $12,900, from [TranquilPC Limited][5], the company that has the contract for manufacturing them. - -Primarily, the Orange Box is a tool for convincing enterprises to invest in the Ubuntu-based cloud. It's a key part of the Ubuntu OpenStack strategy that Canonical founder Mark Shuttleworth [outlined last month][6], especially the OpenStack training program the company is offering, called [Jumpstart][7]. - -As part of Jumpstart, Canonical will loan an Orange Box to a participating organization so its employees can practice configuring OpenStack and related software on an Ubuntu cluster. Canonical staff also will provide consultation during the training period. - -But training purposes aside, the Orange Box [looks pretty cool][8]. And with 10 [Intel NUCs][9] inside—packing a collective punch of 160GB of RAM, 1,200GB of storage space and 10 i5 CPUs—the device fits quite a bit of computing power into a tiny space. - -Better still, the Orange Box comes preconfigured with software that provides a basis for launching Ubuntu-based cloud technologies. - -For Canonical, however, the real test will be making sure enterprises take advantage of the Orange Boxes that the company lends them not just to poke around an unusual hardware device, but to experience the Ubuntu cloud in a truly compelling way—compelling enough to convince IT decision-makers to ground the next-generation cloud infrastructure that they are building in Ubuntu. - --------------------------------------------------------------------------------- - -via: http://thevarguy.com/ubuntu/062314/canonical-debuts-orange-box-ubuntu-openstack-cloud-demos - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://openstack.org/ -[2]:https://maas.ubuntu.com/ -[3]:http://juju.ubuntu.com/ -[4]:http://www.tranquilpcshop.co.uk/ubuntu-orange-box/ -[5]:http://www.tranquilpcshop.co.uk/ -[6]:http://thevarguy.com/ubuntu/051614/shuttleworth-highlights-ubuntu-openstack-cloud-innovations -[7]:http://www.ubuntu.com/cloud/tools/jumpstart -[8]:http://arstechnica.com/information-technology/2014/06/hands-on-with-canonicals-orange-box-and-a-peek-into-cloud-nirvana/ -[9]:http://www.intel.com/content/www/us/en/nuc/overview.html diff --git a/translated/news/20140625 Canonical Debuts 'Orange Box' for Ubuntu OpenStack Cloud Demos.md b/translated/news/20140625 Canonical Debuts 'Orange Box' for Ubuntu OpenStack Cloud Demos.md new file mode 100644 index 0000000000..087b29a1a4 --- /dev/null +++ b/translated/news/20140625 Canonical Debuts 'Orange Box' for Ubuntu OpenStack Cloud Demos.md @@ -0,0 +1,38 @@ +正式亮相的Ubuntu的OpenStack云演示Orange Box +================================================================================ + +> Orange Box,即将规范使用基于Ubuntu的OpenStack的云计算的便携式服务器集群,现已推出。 + +![](http://thevarguy.com/site-files/thevarguy.com/files/imagecache/medium_img/uploads/2014/06/grayscale_7.jpg) + +Canonical的Orange Box,该公司打算用它来展示便携式服务器集群[OpenStack][1],[MAAS][2],[Juju][3]和以Ubuntu Linux操作系统为基础的其他云计算方面,现已发布。下面是它的介绍。 + +对于初学者来说,重要的是要了解Orange Box不是:按照规范产生收益的硬件产品。到目前为止,该公司并无表示计划大规模销售这些设备--如果你真的想[买一款][4],大概价格为$12,900,信息来自具有合同制造它们的公司[TranquilPC有限公司][5]。 + +主要的,Orange Box是说服企业投资基于Ubuntu的云计算的工具。这是Ubuntu的OpenStack的战略的一个关键组成部分,该规范的创始人马克·沙特尔沃思[上个月概述][6],特别是OpenStack的培训计划,公司将提供[快速入门][7]。 + +作为Jumpstart的一部分,出借Orange Box给参与组织,以便员工可以练习OpenStack的配置和Ubuntu的群集上的相关软件。工作人员也将在培训期间提供咨询。 + +但培训的目的不谈,Orange Box[看起来很酷][8]。并用10个[英特尔NUCs][9]内分装160GB集体冲的RAM,1200GB的存储空间和10个酷睿i5处理器,该设备在一个狭小的空间内具有相当强大的计算能力。 + +更妙的是,Orange Box预配置的软件中,提供用于启动基于Ubuntu的云技术。 + +为规范,然而,真正的考验将确保企业采取Orange Box,该公司借给他们不只是体验一个不寻常的硬件设备,而是为了通过一个真正令人信服的方式体验Ubuntu的云,足以吸引IT决策者选择下一代云基础设施为他们正在Ubuntu中建设的。 + +-------------------------------------------------------------------------------- + +via: http://thevarguy.com/ubuntu/062314/canonical-debuts-orange-box-ubuntu-openstack-cloud-demos + +译者:[乌龙茶](https://github.com/yechunxiao19) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://openstack.org/ +[2]:https://maas.ubuntu.com/ +[3]:http://juju.ubuntu.com/ +[4]:http://www.tranquilpcshop.co.uk/ubuntu-orange-box/ +[5]:http://www.tranquilpcshop.co.uk/ +[6]:http://thevarguy.com/ubuntu/051614/shuttleworth-highlights-ubuntu-openstack-cloud-innovations +[7]:http://www.ubuntu.com/cloud/tools/jumpstart +[8]:http://arstechnica.com/information-technology/2014/06/hands-on-with-canonicals-orange-box-and-a-peek-into-cloud-nirvana/ +[9]:http://www.intel.com/content/www/us/en/nuc/overview.html From 51f3bdea865e613d8cc34db410bba8b595d7c904 Mon Sep 17 00:00:00 2001 From: DeadFire Date: Mon, 30 Jun 2014 16:38:38 +0800 Subject: [PATCH 15/56] =?UTF-8?q?20140630-1=20=E9=80=89=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ndroid File Sending, Touchpad Emulation.md | 51 +++++++++ ...pp 'Vocal' Hits Beta, Ready for Testing.md | 33 ++++++ ...630 Ubuntu 14.04 LTS--Customizing Unity.md | 62 +++++++++++ ... engines from the command line on Linux.md | 104 ++++++++++++++++++ 4 files changed, 250 insertions(+) create mode 100644 sources/news/20140630 KDE Connect Adds Android File Sending, Touchpad Emulation.md create mode 100644 sources/news/20140630 New Linux Podcast App 'Vocal' Hits Beta, Ready for Testing.md create mode 100644 sources/talk/20140630 Ubuntu 14.04 LTS--Customizing Unity.md create mode 100644 sources/tech/20140630 How to access popular search engines from the command line on Linux.md diff --git a/sources/news/20140630 KDE Connect Adds Android File Sending, Touchpad Emulation.md b/sources/news/20140630 KDE Connect Adds Android File Sending, Touchpad Emulation.md new file mode 100644 index 0000000000..a477b6abef --- /dev/null +++ b/sources/news/20140630 KDE Connect Adds Android File Sending, Touchpad Emulation.md @@ -0,0 +1,51 @@ +KDE Connect Adds Android File Sending, Touchpad Emulation +================================================================================ +**A new version of KDE Connect for Android that adds a number of new features has been released.** + +![KDE Connect can now share files between desktop and mobile](http://www.omgubuntu.co.uk/wp-content/uploads/2014/06/kde-connect-share-feature.jpg) +KDE Connect can now share files between desktop and mobile + +KDE Connect for Android and the Plasma desktop now allow the touchscreen of a connected device to be used as a touchpad for your computer. + +This additional wireless input device will act just like a basic mouse, though doesn’t (yet) support multitouch features like two finger scrolling or right-clicking. + +Android’s share intent now supports KDE Connect, allowing you to send files from Android to your desktop and vice versa using a menu entry in the Dolphin file manager or by pushing files using a new command line option. + +Similar features for [iOS 8 and OS X Yosemite][1] and [Android ‘L’ and Chrome OS][2] are planned to debut this fall. + +The updated version also fixes a number of bugs and includes numerous improvements, including support for FreeBSD systems. + +Full Feature List: + +- Share files to/from Android and KDE +- Touchpad emulation +- Receive notifications from Android 4.3+ on desktop +- Shared clipboard supports copy and paste between phone and PC +- Multimedia remote control for select desktop media players (MPRIS) +- Battery status +- Wi-Fi connection sharing +- RSA Encryption + +### Download KDE Connect 0.7 ### + +The KDE Connect Android application is free to download from the Google Play and F-Droid stores. + +- [Download KDE Connect from Google Play][3] + +To make use of the newest features you will also need to install the latest version of KDE Connect (version 0.7) for Plasma. As of writing this is not yet available as a .deb installer or through a PPA. It can, however, be installed from source on Kubuntu 14.04 LTS and above by following the instructions [provided here][4]. + +- [Download KDE Connect 0.7 Source][5] + +-------------------------------------------------------------------------------- + +via: http://www.omgubuntu.co.uk/2014/06/kde-connect-android-notifications-linux-desktop + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.omgubuntu.co.uk/2014/06/os-x-10-10-feature-ubuntu-already +[2]:http://www.omgchrome.com/android-apps-notifications-call-alerts-chromebook/ +[3]:https://play.google.com/store/apps/details?id=org.kde.kdeconnect_tp +[4]:https://albertvaka.wordpress.com/2014/06/28/awesome-contributions-to-kde-connect/#comment-1175 +[5]:http://download.kde.org/unstable/kdeconnect/0.7/src/kdeconnect-kde-0.7.tar.xz.mirrorlist \ No newline at end of file diff --git a/sources/news/20140630 New Linux Podcast App 'Vocal' Hits Beta, Ready for Testing.md b/sources/news/20140630 New Linux Podcast App 'Vocal' Hits Beta, Ready for Testing.md new file mode 100644 index 0000000000..7a5e397b9c --- /dev/null +++ b/sources/news/20140630 New Linux Podcast App 'Vocal' Hits Beta, Ready for Testing.md @@ -0,0 +1,33 @@ +New Linux Podcast App ‘Vocal’ Hits Beta, Ready for Testing +================================================================================ +**Back in April we found ourselves enamoured by a promising new [podcast app for Ubuntu called ‘Vocal‘][1]. Well, the app has since gone from being a stylish mockup to real working code — and you can help test it.** + +The project’s developer, Nathan Dyer, has made beta builds — still unstable and not feature complete — available for testing through a dedicated PPA for Ubuntu 14.04 LTS and 14.10. + +The kicker to this (rather sweet) news is that the beta builds of the app **can only be installed if you’re using the next-gen elementary desktop**. And since elementary do not provide official pre-beta development builds for users to test, that makes it a trite difficult. + +Not quite as difficult as trying it out on Unity, GNOME or KDE desktops, mind. If you’re an Ubuntu user wanting to kick the tires on Vocal you will first need to add an unstable elementary desktop PPA to your systems, something we strongly advise against doing. + +Dyer suggests interested users wait until the first beta of the next elementary version is made available. + +For now we can at least look at it: + +![Vocal Beta running on Elementary (Image: Dyer)](http://www.omgubuntu.co.uk/wp-content/uploads/2014/06/vocal-beta.png) +Vocal Beta running on Elementary (Image: Dyer) + +Since Vocal is open source there’s nothing to stop it being ported over to mainstream Linux desktop environments such as Unity. + +In the meantime to learn more visit [the developer’s blog][1], [check out the unstable PPA][2] or hit up [Vocal on Launchpad][3]. + +-------------------------------------------------------------------------------- + +via: http://www.omgubuntu.co.uk/2014/06/linux-podcast-app-vocal-hits-preview-kicker + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.omgubuntu.co.uk/2014/04/vocal-podcast-manager-linux +[2]:http://nathandyer.me/2014/06/28/vocal-beta-released-daily-ppa-available/ +[3]:https://launchpad.net/~nathandyer/+archive/vocal-daily +[4]:https://launchpad.net/vocal \ No newline at end of file diff --git a/sources/talk/20140630 Ubuntu 14.04 LTS--Customizing Unity.md b/sources/talk/20140630 Ubuntu 14.04 LTS--Customizing Unity.md new file mode 100644 index 0000000000..80bb5b9492 --- /dev/null +++ b/sources/talk/20140630 Ubuntu 14.04 LTS--Customizing Unity.md @@ -0,0 +1,62 @@ +Ubuntu 14.04 LTS: Customizing Unity +================================================================================ +Although the Unity Desktop Manager has made HUGE performance and usability strides since the initial release in Ubuntu 11.10, some people are still put off by a number of the limitations in customizing the look and behavior of the window manager. We are going to take a look at how to customize Unity and bring back a sense of control to your desktop. + +### Unity Customizations Available ### + +In Ubuntu 14.04, Unity has several customizations that are available that were not previously. If you log into Unity, go the the “Settings” and choose “Display”, you will see the following screen: + +![Ubuntu 14.04 LTS Display and Unity Settings](https://linuxacademy.com/blog/wp-content/uploads/2014/06/unitysettings.png) +Ubuntu 14.04 LTS Display and Unity Settings + +Most of what you see is new since the Ubuntu 11.10 Unity introduction and several are new since just the latest version of Ubuntu 13.10. New since 13.10 are the ability to scale the menu and title bars. This is useful in very high resolution screens OR as a visual impairment option. Everything scales equally. + +Specific to Unity we can also turn on or off that “sticky edges” option. This is the somewhat annoying “pause” your mouse does on the edge of each screen of a multi-monitor setup. It stops the mouse momentarily at the edge, like it gets stuck. Finally, we have to option to turn that off. + +In the “Settings” screen still, choose the “Appearance” option to see the following: + +![Ubuntu 14.04 LTS Appearance and Unity Settings](https://linuxacademy.com/blog/wp-content/uploads/2014/06/unityappearance.png) +Ubuntu 14.04 LTS Appearance and Unity Settings + +Here we have one of the most requested options for the Unity Dock, the ability to change the Launcher size. Although it could be done in multiple ways in various versions of Ubuntu since 11.10, including it in the Appearance setting just makes it all official. I like that it allows you to change the icon size all the way down to 16 (even the tool we will talk about next only supports 24). + +### Unity Tweak Tool – Now Repo Strong! ### + +This tool has been around since the early days of Ubuntu 11.10 when Unity was first introduced, although you had to jump through a large number of hoops (and progressively smaller as the versions went on) to get it installed and it would be broken by Unity updates. + +Now however, it has officially been added to the default Ubuntu repositories and gets updated when Unity gets updated. There are a large number of customizations, so let’s get it installed: + + sudo apt-get install unity-tweak-tool + +After installation, start it up and you will see the following screen: + +![Ubuntu 14.04 LTS Official Unity Tweak Tool](https://linuxacademy.com/blog/wp-content/uploads/2014/06/unitytweaktool.png) +Ubuntu 14.04 LTS Official Unity Tweak Tool + +This tool encapsulates a large number of Unity Desktop customizations all in once convenient location. Most of these options can be had in the default Unity settings, at the command line or by editing sometimes hard to find configuration files. + +We can change the behavior of the dock, the panel, web applet integration, search within the Unity menu, etc. all within this one tool. Take the time to explore the options available to you – Unity Tweak Tool – learn it, live it, love it (at least if you use Unity). + +### Final Thoughts ### + +Ubuntu 14.04 LTS is shaping up more and more to be the Linux Desktop (sorry Canonical, you are still Linux) of choice for both the casual Linux user (is there such a thing) as well as the die hard professional. + +We now have more control than every over the Unity Desktop without resorting to tools, utilities or configuration file edits that may break with each subsequent Unity update. The desktop performance is pretty rock solid and, by adding some flavor with the Unity Tweak Tool, looks pretty cool as well! Drop us your thoughts or post links to your Unity Desktop set up in the comments below, we would be interested to see how you are using Ubuntu 14.04 LTS. + +---------- + +#### Terrence T. Cox #### + +Developer, Linux Advocate, Open Source Junkie. Been at this whole tech thing long enough to be considered 'very experienced' but not so long as to be bored of it. + +[Twitter][1] + +-------------------------------------------------------------------------------- + +via: https://linuxacademy.com/blog/linux/ubuntu-14-04-lts-customizing-unity/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:https://twitter.com/mourngrymtc/ \ No newline at end of file diff --git a/sources/tech/20140630 How to access popular search engines from the command line on Linux.md b/sources/tech/20140630 How to access popular search engines from the command line on Linux.md new file mode 100644 index 0000000000..f49a1701bd --- /dev/null +++ b/sources/tech/20140630 How to access popular search engines from the command line on Linux.md @@ -0,0 +1,104 @@ +How to access popular search engines from the command line on Linux +================================================================================ +Why would anyone want to search things on the Internet via a terminal? I don't know. There are probably a lot of reasons. But since an answer that no one asked for is always less frustrating than a question that no one can answer, here is a list of popular search engines with the command-line tools that allow you to access them from a Linux terminal. + +### 1. Google ### + +Let's start right with a giant: Bing! No just kidding, Google. To be frank, you don't really need a utility to search on Google from the command line. A simple: + + $ xdg-open https://www.google.com/search?q="[query]" + +would open your web browser on the appropriate search page. However, if what you want is to see the results of that search from a terminal window, without opening any kind of web browser, I would recommend using [cli-google][1]. It is super old (last updated in 2009) but I like it. It is a simple and straightforward application which does exactly what it's supposed to do. + +Once you install cli-google, you can do searches with a colored output. You can also adjust the amount of results and the language that you want. Just type: + + $ google + +in your terminal to see all the options. + +![](https://farm6.staticflickr.com/5491/14330385480_91b0e138ee_z.jpg) + +### 2. YouTube ### + +There is going to be a lot of Google in this list. I will try to keep it as minimal as possible, but there is no escape. YouTube is for a lot of people the go to when it comes to finding a video of something quickly. To do such things from a terminal, my go to is [mps-youtube][2]. This software lets you search, make playlists, download videos, and read the comments from the terminal. Once you install mps-youtube, launch it with: + + $ mpsyt + +Then type h to see the options. For quick usage, you can just do: + + /[query] + +to search for something, then type the number ID of the video to listen to its sound, or type: + + i [video-number] + +to see its information, and type: + + d [video-number] + +to download it. If just listening is not enough for you, here is the trick: + + set player mplayer + set show_video True + +Now the video will show up in another window on mplayer. + +![](https://farm3.staticflickr.com/2925/14517040865_1d54ccce3b_z.jpg) + +### 3. Wikipedia ### + +Same as for Google, for Wikipedia I like an old script that works just fine: [cliWiki][3]. Once you install it, just run: + + $ cliwiki + +And then type in your search. If there is a direct match, the page will be displayed in the terminal. The output can be quite long so I advise you to channel it with the less command. It is certainly not the most efficient way to do it, but if your goal is to get a block of text concerning a keyword, this is exactly what you need. + +![](https://farm3.staticflickr.com/2903/14330600657_065d26cdf2_z.jpg) + +### 4. The Pirate Bay ### + +Now let's talk dirty. There are surprisingly (or not) a lot of utilities to find torrents on The Pirate Bay from the command line. However my preference goes to [pirate-get][4]. It comes with a ton of options that you can discover with: + + $ pirate-get -h + +But to keep it simple: + + $ pirate-get --color -c [category] [query] + +will return the result from a certain category of the search corresponding to a query, and with a colored output! From there, the application will prompt you to enter the number of the result that you want, and will then download the torrent from a magnet link. Simple and easy. Use only on non-copyrighted material! + +![](https://farm4.staticflickr.com/3923/14330448479_ae503561e6_z.jpg) + +### 5. Twitter ### + +Twitter is a good search engine for trends. We already covered [how to access Twitter from the command line][5] using t, but I personally prefer [TTYtter][6] to it. This utility is extermely powerful, could deserve its own post, and cannot be resumed to simply searching. But I am just going to use it as a search engine here. Once installed and configured, you can log in and search using the command: + + /search [query] + +The interface is a bit rough on the eye, but you will get accustomed quickly. Notice that this will work with plain words but also hash-tags. + +![](https://farm6.staticflickr.com/5077/14537153013_cc32a98b08_z.jpg) + +To conclude, these are in my opinion the big five search engines that people tend to use the most and which are accessible via the command line. The absents are probably Google Images and Google Maps, but those are kind of hard to adapt to the console I guess. I also wanted to look for a music search engine, but did not find any "worthy" of this list. As you have probably noticed, the tools on this list are uneven in term of features and options: some are simplistic while others go deep into functionality. But in the end they all do the job. + +Which search engines are missing from this list? Do you know some utilities that were not mentioned? Let us know in the comments. + +---------- + +#### Adrien Brochard #### + +I am a Linux aficionado from France. After trying multiple distributions, I finally settled for Archlinux. But I am always trying to improve my system by stacking up tips and tricks. +-------------------------------------------------------------------------------- + +via: http://xmodulo.com/2014/06/access-popular-search-engines-command-line-linux.html + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:https://github.com/henux/cli-google +[2]:https://github.com/np1/mps-youtube +[3]:https://github.com/AnirudhBhat/cliWiki.py +[4]:https://github.com/vikstrous/pirate-get +[5]:http://xmodulo.com/2013/12/access-twitter-command-line-linux.html +[6]:http://www.floodgap.com/software/ttytter/ \ No newline at end of file From c71c31fa4b1e9e28dbb32d893d967165824b9f6a Mon Sep 17 00:00:00 2001 From: wxy Date: Mon, 30 Jun 2014 17:07:27 +0800 Subject: [PATCH 16/56] PUB:20140625 Canonical Debuts 'Orange Box' for Ubuntu OpenStack Cloud Demos @yechunxiao19 --- ...e Box' for Ubuntu OpenStack Cloud Demos.md | 42 +++++++++++++++++++ ...e Box' for Ubuntu OpenStack Cloud Demos.md | 38 ----------------- 2 files changed, 42 insertions(+), 38 deletions(-) create mode 100644 published/20140625 Canonical Debuts 'Orange Box' for Ubuntu OpenStack Cloud Demos.md delete mode 100644 translated/news/20140625 Canonical Debuts 'Orange Box' for Ubuntu OpenStack Cloud Demos.md diff --git a/published/20140625 Canonical Debuts 'Orange Box' for Ubuntu OpenStack Cloud Demos.md b/published/20140625 Canonical Debuts 'Orange Box' for Ubuntu OpenStack Cloud Demos.md new file mode 100644 index 0000000000..5a16cec25b --- /dev/null +++ b/published/20140625 Canonical Debuts 'Orange Box' for Ubuntu OpenStack Cloud Demos.md @@ -0,0 +1,42 @@ +Ubuntu的Orange Box首次亮相 +================================================================================ + +> Orange Box现已推出,它是一个便携的服务器集群,Canonical用它来演示和培训基于Ubuntu的OpenStack云。 + +![](http://thevarguy.com/site-files/thevarguy.com/files/imagecache/medium_img/uploads/2014/06/grayscale_7.jpg) + +Canonical刚刚发布的Orange Box是一个便携式服务器集群,该公司用来展示[OpenStack][1],[MAAS][2],[Juju][3]和其它的基于Ubuntu Linux的云服务。 + +下面是它的介绍。 + +对于刚刚接触到它的人来说,重要的是要了解Orange Box不是什么:它不是一台Canonical用来盈利的硬件产品。到目前为止,该公司并无表示计划大规模销售这些设备。如果你真的想[买一款][4]的话,大概价格为$12,900,这个价格来自其合同制造商[TranquilPC Limited][5]。 + +从大的方面来说,Orange Box是一个说服企业在基于Ubuntu的云计算投入资金的工具。Canonical的创始人马克·沙特尔沃思[上个月宣布了][6]Ubuntu OpenStack的战略,这是该战略的一个关键组成部分,更是该公司提供的称作[Jumpstart][7]的OpenStack的培训计划的一部分。 + +作为Jumpstart的一部分,Canonical会将Orange Box借给合作伙伴,以便他们的员工可以在Ubuntu集群上练习配置OpenStack和相关软件。Canonical的工作人员也将在培训期间提供咨询。 + +不过除开培训的目的不谈,Orange Box[看起来真的很酷][8]。它装有10个[英特尔NUC][9],总计集成了160GB的RAM,1200GB的存储空间和10个酷睿i5处理器,这种设备在一个袖珍空间内提供了相当强大的计算能力。 + +![](http://www.intel.com/content/dam/www/public/us/en/images/product/wilson-canyon-nuc-front-angle-with-board.jpg) + +更好的是,Orange Box通过预装软件为启动基于Ubuntu的云技术打下了良好基础。 + +不过,对于Canonical来说,真正的考验是确保企业能够从Orange Box中获益。借出它们不只是为了让合作伙伴们体验一下不错的硬件设备,而是为了通过一个真正令人信服的方式体验Ubuntu的云,以吸引IT决策者选择Ubuntu所建立的下一代云基础设施。 + +-------------------------------------------------------------------------------- + +via: http://thevarguy.com/ubuntu/062314/canonical-debuts-orange-box-ubuntu-openstack-cloud-demos + +译者:[乌龙茶](https://github.com/yechunxiao19) 校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://openstack.org/ +[2]:https://maas.ubuntu.com/ +[3]:http://juju.ubuntu.com/ +[4]:http://www.tranquilpcshop.co.uk/ubuntu-orange-box/ +[5]:http://www.tranquilpcshop.co.uk/ +[6]:http://thevarguy.com/ubuntu/051614/shuttleworth-highlights-ubuntu-openstack-cloud-innovations +[7]:http://www.ubuntu.com/cloud/tools/jumpstart +[8]:http://arstechnica.com/information-technology/2014/06/hands-on-with-canonicals-orange-box-and-a-peek-into-cloud-nirvana/ +[9]:http://www.intel.com/content/www/us/en/nuc/overview.html diff --git a/translated/news/20140625 Canonical Debuts 'Orange Box' for Ubuntu OpenStack Cloud Demos.md b/translated/news/20140625 Canonical Debuts 'Orange Box' for Ubuntu OpenStack Cloud Demos.md deleted file mode 100644 index 087b29a1a4..0000000000 --- a/translated/news/20140625 Canonical Debuts 'Orange Box' for Ubuntu OpenStack Cloud Demos.md +++ /dev/null @@ -1,38 +0,0 @@ -正式亮相的Ubuntu的OpenStack云演示Orange Box -================================================================================ - -> Orange Box,即将规范使用基于Ubuntu的OpenStack的云计算的便携式服务器集群,现已推出。 - -![](http://thevarguy.com/site-files/thevarguy.com/files/imagecache/medium_img/uploads/2014/06/grayscale_7.jpg) - -Canonical的Orange Box,该公司打算用它来展示便携式服务器集群[OpenStack][1],[MAAS][2],[Juju][3]和以Ubuntu Linux操作系统为基础的其他云计算方面,现已发布。下面是它的介绍。 - -对于初学者来说,重要的是要了解Orange Box不是:按照规范产生收益的硬件产品。到目前为止,该公司并无表示计划大规模销售这些设备--如果你真的想[买一款][4],大概价格为$12,900,信息来自具有合同制造它们的公司[TranquilPC有限公司][5]。 - -主要的,Orange Box是说服企业投资基于Ubuntu的云计算的工具。这是Ubuntu的OpenStack的战略的一个关键组成部分,该规范的创始人马克·沙特尔沃思[上个月概述][6],特别是OpenStack的培训计划,公司将提供[快速入门][7]。 - -作为Jumpstart的一部分,出借Orange Box给参与组织,以便员工可以练习OpenStack的配置和Ubuntu的群集上的相关软件。工作人员也将在培训期间提供咨询。 - -但培训的目的不谈,Orange Box[看起来很酷][8]。并用10个[英特尔NUCs][9]内分装160GB集体冲的RAM,1200GB的存储空间和10个酷睿i5处理器,该设备在一个狭小的空间内具有相当强大的计算能力。 - -更妙的是,Orange Box预配置的软件中,提供用于启动基于Ubuntu的云技术。 - -为规范,然而,真正的考验将确保企业采取Orange Box,该公司借给他们不只是体验一个不寻常的硬件设备,而是为了通过一个真正令人信服的方式体验Ubuntu的云,足以吸引IT决策者选择下一代云基础设施为他们正在Ubuntu中建设的。 - --------------------------------------------------------------------------------- - -via: http://thevarguy.com/ubuntu/062314/canonical-debuts-orange-box-ubuntu-openstack-cloud-demos - -译者:[乌龙茶](https://github.com/yechunxiao19) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://openstack.org/ -[2]:https://maas.ubuntu.com/ -[3]:http://juju.ubuntu.com/ -[4]:http://www.tranquilpcshop.co.uk/ubuntu-orange-box/ -[5]:http://www.tranquilpcshop.co.uk/ -[6]:http://thevarguy.com/ubuntu/051614/shuttleworth-highlights-ubuntu-openstack-cloud-innovations -[7]:http://www.ubuntu.com/cloud/tools/jumpstart -[8]:http://arstechnica.com/information-technology/2014/06/hands-on-with-canonicals-orange-box-and-a-peek-into-cloud-nirvana/ -[9]:http://www.intel.com/content/www/us/en/nuc/overview.html From 1b3a3b892537680e523488a2c2c1062dc5608790 Mon Sep 17 00:00:00 2001 From: JonathanKang Date: Mon, 30 Jun 2014 17:33:34 +0800 Subject: [PATCH 17/56] JonathanKang is translating --- ...x Screenshot App Shutter Updates with Bug Fixes, New Icon.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sources/tech/20140616 Linux Screenshot App Shutter Updates with Bug Fixes, New Icon.md b/sources/tech/20140616 Linux Screenshot App Shutter Updates with Bug Fixes, New Icon.md index 49f33e777e..3b03d90e8e 100644 --- a/sources/tech/20140616 Linux Screenshot App Shutter Updates with Bug Fixes, New Icon.md +++ b/sources/tech/20140616 Linux Screenshot App Shutter Updates with Bug Fixes, New Icon.md @@ -1,3 +1,5 @@ +JonathanKang is translating + Linux Screenshot App Shutter Updates with Bug Fixes, New Icon ================================================================================ ![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/06/shutter.jpg) From 5147fbcd470b7a9573a47e8036cbe5d46baf7b3c Mon Sep 17 00:00:00 2001 From: JonathanKang Date: Mon, 30 Jun 2014 18:50:15 +0800 Subject: [PATCH 18/56] translated --- ...hutter Updates with Bug Fixes, New Icon.md | 39 ------------------- ...hutter Updates with Bug Fixes, New Icon.md | 37 ++++++++++++++++++ 2 files changed, 37 insertions(+), 39 deletions(-) delete mode 100644 sources/tech/20140616 Linux Screenshot App Shutter Updates with Bug Fixes, New Icon.md create mode 100644 translated/tech/20140616 Linux Screenshot App Shutter Updates with Bug Fixes, New Icon.md diff --git a/sources/tech/20140616 Linux Screenshot App Shutter Updates with Bug Fixes, New Icon.md b/sources/tech/20140616 Linux Screenshot App Shutter Updates with Bug Fixes, New Icon.md deleted file mode 100644 index 3b03d90e8e..0000000000 --- a/sources/tech/20140616 Linux Screenshot App Shutter Updates with Bug Fixes, New Icon.md +++ /dev/null @@ -1,39 +0,0 @@ -JonathanKang is translating - -Linux Screenshot App Shutter Updates with Bug Fixes, New Icon -================================================================================ -![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/06/shutter.jpg) - -**[Shutter][1], our favourite screenshot tool for Linux, has been updated with select bug fixes and a new application icon. ** - -The open-source and feature-rich screenshot utility allows you to snap sections of your desktop, app windows or the whole screen and add annotations, text or effects. - -Version 0.91 fixes a number of outstanding bugs, including an issue where thumbnails were not shown in the Session tab on 14.04, and removes the option to upload screenshots to Pixlr’s image hosting service ‘imm.io’, which was discontinued earlier this year. - -Finally, the update features a refined version of the familiar camera shutter application icon courtesy of artist Lucas Romero Di Benedetto. - -![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/06/compare-350x200.png) - -### Install Shutter 0.91 in Ubuntu ### - -Upgrading to the new version of Shutter is simple enough — providing you add the official PPA. [The Shutter PPA][2] provides new stable releases to Ubuntu 12.04 LTS, 13.10 and 14.04 LTS. - - sudo add-apt-repository ppa:shutter/ppa - - sudo apt-get update && sudo apt-get install shutter - -Don’t like PPAs? You can also download Debian installers from the download section on the project homepage. If you’re running Ubuntu 14.04 LTS you can grab the installer by hitting the button below. - -- [Download Shutter 0.91 for Ubuntu 14.04 LTS][3] - --------------------------------------------------------------------------------- - -via: http://www.omgubuntu.co.uk/2014/06/shutter-0-91-new-icon - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:https://apps.ubuntu.com/cat/applications/shutter/ -[2]:https://launchpad.net/~shutter/+archive/ppa -[3]:https://launchpad.net/~shutter/+archive/ppa/+files/shutter_0.91%7Eppa2%7Eubuntu14.04.1_all.deb diff --git a/translated/tech/20140616 Linux Screenshot App Shutter Updates with Bug Fixes, New Icon.md b/translated/tech/20140616 Linux Screenshot App Shutter Updates with Bug Fixes, New Icon.md new file mode 100644 index 0000000000..5f50c474b1 --- /dev/null +++ b/translated/tech/20140616 Linux Screenshot App Shutter Updates with Bug Fixes, New Icon.md @@ -0,0 +1,37 @@ +Linux截屏软件Shutter获得更新,修复bug,更换新图标 +================================================================================ +![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/06/shutter.jpg) + +**[Shutter][1],是一款Linux平台下最受欢迎的截屏软件。最近的更新中,该软件修复了若干bug,并且使用了新的应用图标。** + +这款开源并且功能强大的截屏工具可以让你选择桌面的任意区域、指定应用窗口或者整个屏幕区域来进行截屏。此外,你还可以添加注释、文本或者特效。 + +0.91版本修复了若干之前遗留的bug,包括在Ubuntu 14.04中缩略图无法正常地在应用切换栏中显示的问题。由于'imm.io'在今年早些停止服务,所以此次更新还取消了将截图上传到Pixlr图像服务的选项。 + +最后,这次更新突出了由Lucas Romero Di Benedetto精心设计的百叶窗相机式的应用图标。 + +![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/06/compare-350x200.png) + +### 在Ubuntu环境下安装Shutter 0.91版本 ### + +升级到Shutter的最新版本是非常简单的——前提是你添加了该软件的PPA。[The Shutter PPA][2] 面向Ubuntu 12.04 LTS、13.10、14.04 LTS提供该软件最新稳定的发行版。 + + sudo add-apt-repository ppa:shutter/ppa + + sudo apt-get update && sudo apt-get install shutter + +不喜欢PPA?那么你也可以从该项目的主页下载Debian安装包。如果你使用的是Ubuntu 14.04 LTS系统,你可以点击下面的链接来下载安装包。 + +- [下载适用于Ubuntu 14.04 LTS系统的Shutter 0.91][3] + +-------------------------------------------------------------------------------- + +via: http://www.omgubuntu.co.uk/2014/06/shutter-0-91-new-icon + +译者:[JonathanKang](https://github.com/JonathanKang) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:https://apps.ubuntu.com/cat/applications/shutter/ +[2]:https://launchpad.net/~shutter/+archive/ppa +[3]:https://launchpad.net/~shutter/+archive/ppa/+files/shutter_0.91%7Eppa2%7Eubuntu14.04.1_all.deb From 97741b0627cd984a4ab624fe8bb07c8ae743bcf5 Mon Sep 17 00:00:00 2001 From: MikeCoder Date: Mon, 30 Jun 2014 19:14:20 +0800 Subject: [PATCH 19/56] mike translating... --- .../20140616 How to Rescue a Non-booting GRUB 2 on Linux.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sources/tech/20140616 How to Rescue a Non-booting GRUB 2 on Linux.md b/sources/tech/20140616 How to Rescue a Non-booting GRUB 2 on Linux.md index d53dd78844..f34f496f7b 100644 --- a/sources/tech/20140616 How to Rescue a Non-booting GRUB 2 on Linux.md +++ b/sources/tech/20140616 How to Rescue a Non-booting GRUB 2 on Linux.md @@ -1,3 +1,5 @@ +MikeCoder Translating... + How to Rescue a Non-booting GRUB 2 on Linux ================================================================================ ![Figure 1: GRUB 2 menu with cool Apollo 17 background.](http://www.linux.com/images/stories/41373/grub-command-shell.jpg) From 46e23ca473ef27c4d3f1df020cb7cf11a11c15e4 Mon Sep 17 00:00:00 2001 From: MikeCoder Date: Mon, 30 Jun 2014 20:00:59 +0800 Subject: [PATCH 20/56] finish translating --- ...to Rescue a Non-booting GRUB 2 on Linux.md | 130 ------------------ ...to Rescue a Non-booting GRUB 2 on Linux.md | 128 +++++++++++++++++ 2 files changed, 128 insertions(+), 130 deletions(-) delete mode 100644 sources/tech/20140616 How to Rescue a Non-booting GRUB 2 on Linux.md create mode 100644 translated/tech/20140616 How to Rescue a Non-booting GRUB 2 on Linux.md diff --git a/sources/tech/20140616 How to Rescue a Non-booting GRUB 2 on Linux.md b/sources/tech/20140616 How to Rescue a Non-booting GRUB 2 on Linux.md deleted file mode 100644 index f34f496f7b..0000000000 --- a/sources/tech/20140616 How to Rescue a Non-booting GRUB 2 on Linux.md +++ /dev/null @@ -1,130 +0,0 @@ -MikeCoder Translating... - -How to Rescue a Non-booting GRUB 2 on Linux -================================================================================ -![Figure 1: GRUB 2 menu with cool Apollo 17 background.](http://www.linux.com/images/stories/41373/grub-command-shell.jpg) -Figure 1: GRUB 2 menu with cool Apollo 17 background. - -Once upon a time we had legacy GRUB, the Grand Unified Linux Bootloader version 0.97. Legacy GRUB had many virtues, but it became old and its developers did yearn for more functionality, and thus did GRUB 2 come into the world. - -GRUB 2 is a major rewrite with several significant differences. It boots removable media, and can be configured with an option to enter your system BIOS. It's more complicated to configure with all kinds of scripts to wade through, and instead of having a nice fairly simple `/boot/grub/menu.lst` file with all configurations in one place, the default is `/boot/grub/grub.cfg`. Which you don't edit directly, oh no, for this is not for mere humans to touch, but only other scripts. We lowly humans may edit `/etc/default/grub`, which controls mainly the appearance of the GRUB menu. We may also edit the scripts in `/etc/grub.d/`. These are the scripts that boot your operating systems, control external applications such as memtest and os_prober, and theming`./boot/grub/grub.cfg` is built from `/etc/default/grub` and `/etc/grub.d/*` when you run the update-grub command, which you must run every time you make changes. - -The good news is that the update-grub script is reliable for finding kernels, boot files, and adding all operating systems to your GRUB boot menu, so you don't have to do it manually. - -We're going to learn how to fix two of the more common failures. When you boot up your system and it stops at the grub> prompt, that is the full GRUB 2 command shell. That means GRUB 2 started normally and loaded the normal.mod module (and other modules which are located in /boot/grub/[arch]/), but it didn't find your grub.cfg file. If you see grub rescue> that means it couldn't find normal.mod, so it probably couldn't find any of your boot files. - -How does this happen? The kernel might have changed drive assignments or you moved your hard drives, you changed some partitions, or installed a new operating system and moved things around. In these scenarios your boot files are still there, but GRUB can't find them. So you can look for your boot files at the GRUB prompt, set their locations, and then boot your system and fix your GRUB configuration. - -### GRUB 2 Command Shell ### - -The GRUB 2 command shell is just as powerful as the shell in legacy GRUB. You can use it to discover boot images, kernels, and root filesystems. In fact, it gives you complete access to all filesystems on the local machine regardless of permissions or other protections. Which some might consider a security hole, but you know the old Unix dictum: whoever has physical access to the machine owns it. - -When you're at the `grub>` prompt, you have a lot of functionality similar to any command shell such as history and tab-completion. The `grub rescue>` mode is more limited, with no history and no tab-completion. - -If you are practicing on a functioning system, press C when your GRUB boot menu appears to open the GRUB command shell. You can stop the bootup countdown by scrolling up and down your menu entries with the arrow keys. It is safe to experiment at the GRUB command line because nothing you do there is permanent. If you are already staring at the `grub>` or `grub rescue>`prompt then you're ready to rock. - -The next few commands work with both `grub>` and `grub rescue>`. The first command you should run invokes the pager, for paging long command outputs: - - grub> set pager=1 - -There must be no spaces on either side of the equals sign. Now let's do a little exploring. Type ls to list all partitions that GRUB sees: - - grub> ls - (hd0) (hd0,msdos2) (hd0,msdos1) - -What's all this msdos stuff? That means this system has the old-style MS-DOS partition table, rather than the shiny new Globally Unique Identifiers partition table (GPT). (See [Using the New GUID Partition Table in Linux (Goodbye Ancient MBR)][1]. If you're running GPT it will say (hd0,gpt1). Now let's snoop. Use the ls command to see what files are on your system: - - grub> ls (hd0,1)/ - lost+found/ bin/ boot/ cdrom/ dev/ etc/ home/ lib/ - lib64/ media/ mnt/ opt/ proc/ root/ run/ sbin/ - srv/ sys/ tmp/ usr/ var/ vmlinuz vmlinuz.old - initrd.img initrd.img.old - -Hurrah, we have found the root filesystem. You can omit the msdos and gpt labels. If you leave off the slash it will print information about the partition. You can read any file on the system with the cat command: - - grub> cat (hd0,1)/etc/issue - Ubuntu 14.04 LTS \n \l - -Reading /etc/issue could be useful on a multi-boot system for identifying your various Linuxes. - -### Booting From grub> ### - -This is how to set the boot files and boot the system from the grub> prompt. We know from running the ls command that there is a Linux root filesystem on (hd0,1), and you can keep searching until you verify where /boot/grub is. Then run these commands, using your own root partition, kernel, and initrd image: - - grub> set root=(hd0,1) - grub> linux /boot/vmlinuz-3.13.0-29-generic root=/dev/sda1 - grub> initrd /boot/initrd.img-3.13.0-29-generic - grub> boot - -The first line sets the partition that the root filesystem is on. The second line tells GRUB the location of the kernel you want to use. Start typing /boot/vmli, and then use tab-completion to fill in the rest. Type root=/dev/sdX to set the location of the root filesystem. Yes, this seems redundant, but if you leave this out you'll get a kernel panic. How do you know the correct partition? hd0,1 = /dev/sda1. hd1,1 = /dev/sdb1. hd3,2 = /dev/sdd2. I think you can extrapolate the rest. - -The third line sets the initrd file, which must be the same version number as the kernel. - -The fourth line boots your system. - -On some Linux systems the current kernels and initrds are symlinked into the top level of the root filesystem: - - $ ls -l / - vmlinuz -> boot/vmlinuz-3.13.0-29-generic - initrd.img -> boot/initrd.img-3.13.0-29-generic - -So you could boot from grub> like this: - - grub> set root=(hd0,1) - grub> linux /vmlinuz root=/dev/sda1 - grub> initrd /initrd.img - grub> boot - -### Booting From grub-rescue> ### - -If you're in the GRUB rescue shell the commands are different, and you have to load the normal.mod andlinux.mod modules: - - grub rescue> set prefix=(hd0,1)/boot/grub - grub rescue> set root=(hd0,1) - grub rescue> insmod normal - grub rescue> normal - grub rescue> insmod linux - grub rescue> linux /boot/vmlinuz-3.13.0-29-generic root=/dev/sda1 - grub rescue> initrd /boot/initrd.img-3.13.0-29-generic - grub rescue> boot - -Tab-completion should start working after you load both modules. - -### Making Permanent Repairs ### - -When you have successfully booted your system, run these commands to fix GRUB permanently: - - # update-grub - Generating grub configuration file ... - Found background: /usr/share/images/grub/Apollo_17_The_Last_Moon_Shot_Edit1.tga - Found background image: /usr/share/images/grub/Apollo_17_The_Last_Moon_Shot_Edit1.tga - Found linux image: /boot/vmlinuz-3.13.0-29-generic - Found initrd image: /boot/initrd.img-3.13.0-29-generic - Found linux image: /boot/vmlinuz-3.13.0-27-generic - Found initrd image: /boot/initrd.img-3.13.0-27-generic - Found linux image: /boot/vmlinuz-3.13.0-24-generic - Found initrd image: /boot/initrd.img-3.13.0-24-generic - Found memtest86+ image: /boot/memtest86+.elf - Found memtest86+ image: /boot/memtest86+.bin - done - # grub-install /dev/sda - Installing for i386-pc platform. - Installation finished. No error reported. - -When you run grub-install remember you're installing it to the boot sector of your hard drive and not to a partition, so do not use a partition number like /dev/sda1. - -### But It Still Doesn't Work ### - -If your system is so messed up that none of this works, try the [Super GRUB2 live rescue disk][2]. The official [GNU GRUB Manual 2.00][3] should also be helpful. - --------------------------------------------------------------------------------- - -via: http://www.linux.com/learn/tutorials/776643-how-to-rescue-a-non-booting-grub-2-on-linux - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://www.linux.com/learn/tutorials/730440-using-the-new-guid-partition-table-in-linux-good-bye-ancient-mbr- -[2]:http://www.supergrubdisk.org/ -[3]:https://www.gnu.org/software/grub/manual/grub.html diff --git a/translated/tech/20140616 How to Rescue a Non-booting GRUB 2 on Linux.md b/translated/tech/20140616 How to Rescue a Non-booting GRUB 2 on Linux.md new file mode 100644 index 0000000000..0146576f04 --- /dev/null +++ b/translated/tech/20140616 How to Rescue a Non-booting GRUB 2 on Linux.md @@ -0,0 +1,128 @@ +如何拯救一台没有成功通过Grub启动的Linux电脑 +================================================================================ +![Figure 1: GRUB 2 menu with cool Apollo 17 background.](http://www.linux.com/images/stories/41373/grub-command-shell.jpg) +Figure 1: GRUB 2 menu with cool Apollo 17 background. + +自从我们拥有GRUB以来,Linux Bootloader 0.97就开始了传奇的一生。尽管传统的GRUB有很多的有点,但是他开始陈旧了,并且他的开发者也开始添加更多的功能,于是,Grub2.0时代就要来了。 + +GRUB 2 做了几个明显的改进。它可以从移动存储设备上启动,并且可以有进入BIOS配置的选项。尽管它有着更复杂的脚本配置,但是一个简单的`/boot/grub/menu.lst`文件却一个地方集中了所有配置选项,默认的是存放在`/boot/grub/grub.cfg `。你不能直接编辑,这不是人做的事,太复杂,我们需要用简单的脚本实现。我们卑微的人类可以编辑`/etc/default/grub`文件来修改,它主要是控制Grub菜单。我们还可以修改` /etc/grub.d/ `。这些脚本可以启动操作系统,控制外部应用程序,如memtest 和 os_prober,还有theming `./boot/grub/grub.cfg`是建立在`/etc/default/grub`和`/etc/grub.d/*`的基础上的。当你修改了一个地方,你必须要运行更新GRUB的命令。 + +好消息是,update-grub脚本是可以可靠的检测内核,启动文件,并添加所有的操作系统的,自动生成你的启动菜单,所以你不必手动的修改他们。 + +我们还要学习如何解决两个常见的故障。当启动系统时,它会停在GRUB >提示上,这是完整的GRUB 2命令界面,所以不要惊慌。这意味着GRUB 2依旧可以正常启动和加载normal.mod模块(和其他模块分别位于/boot/grub/[arch]/),但没有找到你的grub.cfg文件。如果你看到grub rescue> 这意味着它无法找到normal.mod,因此它有可能找不到你的启动文件。 + +这是如何发生的?因为内核可能改变驱动器分配或您移动您的硬盘驱动器,或者你手动改变一些分区,或安装一个新的操作系统或者移动一些文件。在这些情况下你的启动文件仍然存在,但GRUB不能找到他们。所以你可以看看在GRUB提示符中启动文件,设置它们的位置,然后启动您的系统和修复您的grub配置。 + +### GRUB 2 命令行 ### + +GRUB 2 命令是一个伟大的财富。你不仅可以用它来发现引导镜像,内核,和根文件系统。事实上,它给你完全访问本地计算机上的所有文件的系统权限。其中有些人可能会认为一个安全漏洞,但是你知道古老的UNIX的名言:有物理访问机器权限的人,就是拥有它的人。 + +当你在` GRUB > `提示时,你有许多类似的功能,如命令如历史和tab补全。但是`grub rescue> `模式是有限的,没有历史,没有tab补全。 + +如果你是在一个正常运作的系统上练习,那就当GRUB菜单打开GRUB命令行时,按C。你可以通过向上和向下滚动你的菜单条目箭头键停止启动倒计时。它是安全的,在此GRUB命令行下,你不会进行永久的修改,一切都是暂时的。如果你已经看到`grub > `或`grub rescue> `提示符,那就说明你的表现时刻到了。 + +接下来的几个命令可以在`grub>`和`grub rescue`模式下运行。同时,你应该第一个运行的命令如下: + + grub> set pager=1 + +等号两侧必须不能出现空格。现在让我们做一点探讨。ls列出的所有分区: + + grub> ls + (hd0) (hd0,msdos2) (hd0,msdos1) + +MSDOS是什么?这意味着该系统具有老式的MS-DOS分区表,而不是全新的全局唯一标识符的分区表(GPT)。(见[Using the New GUID Partition Table in Linux (Goodbye Ancient MBR)][1]。如果你正在运行的GPT,它会出现(hd0,GPT1)。使用ls命令查看你的系统文件是什么: + + grub> ls (hd0,1)/ + lost+found/ bin/ boot/ cdrom/ dev/ etc/ home/ lib/ + lib64/ media/ mnt/ opt/ proc/ root/ run/ sbin/ + srv/ sys/ tmp/ usr/ var/ vmlinuz vmlinuz.old + initrd.img initrd.img.old + +好的,我们已经找到了根文件系统。你可以省略MSDOS和GPT的标签。如果你无视打印的分区信息。你可以用cat命令读取文件系统上的文件: + + grub> cat (hd0,1)/etc/issue + Ubuntu 14.04 LTS \n \l + +从/etc/issue文件中,可以看到你的不同的Linux系统 + +### 从 grub> 中启动### + +这是如何设置启动文件和启动从`GRUB>`提示中进入系统。我们知道,从运行ls命令有一个Linux根文件系统(hd0,1),你可以继续寻找直到你找到你的/boot/grub所在位置。然后运行这些命令,使用您自己的根分区,内核和initrd映像: + + grub> set root=(hd0,1) + grub> linux /boot/vmlinuz-3.13.0-29-generic root=/dev/sda1 + grub> initrd /boot/initrd.img-3.13.0-29-generic + grub> boot + +第一行设置分区的根文件系统是。第二行告诉grub您想要使用的内核位置。开始输入/boot/vmli,然后使用tab完成填写。输入`root= /dev/sdX`设置根文件系统位置。是的,这似乎是多余的,但如果你忘记了输入你会得到一个kernel panic。你知道怎么正确的分区?hd0,1 = /dev/sda1。hd1,1 = /dev/sdb1。hd3,2 = /开发/ sdd2。我想你可以推出自己的。 + +第三行设置initrd文件,必须是和内核相同的版本号。 + +最后一行启动系统。 + +在一些Linux系统上,内核和initrds是被符号链接到当前的根文件系统的根目录,就像: + + $ ls -l / + vmlinuz -> boot/vmlinuz-3.13.0-29-generic + initrd.img -> boot/initrd.img-3.13.0-29-generic + +所以,你也可以这样输入命令: + + grub> set root=(hd0,1) + grub> linux /vmlinuz root=/dev/sda1 + grub> initrd /initrd.img + grub> boot + +### 从grub-rescue> 中启动 ### + +你必须要加载两个模块normal.mod 和 linux.mod,如果你的GRUB命令不同于大众。 + + grub rescue> set prefix=(hd0,1)/boot/grub + grub rescue> set root=(hd0,1) + grub rescue> insmod normal + grub rescue> normal + grub rescue> insmod linux + grub rescue> linux /boot/vmlinuz-3.13.0-29-generic root=/dev/sda1 + grub rescue> initrd /boot/initrd.img-3.13.0-29-generic + grub rescue> boot + +tab补全应该在你加载了这几个模块之后开始工作。 + +### 永久性的修复 ### + +当你成功地启动你的系统,运行这些命令来永久修复GRUB: + + # update-grub + Generating grub configuration file ... + Found background: /usr/share/images/grub/Apollo_17_The_Last_Moon_Shot_Edit1.tga + Found background image: /usr/share/images/grub/Apollo_17_The_Last_Moon_Shot_Edit1.tga + Found linux image: /boot/vmlinuz-3.13.0-29-generic + Found initrd image: /boot/initrd.img-3.13.0-29-generic + Found linux image: /boot/vmlinuz-3.13.0-27-generic + Found initrd image: /boot/initrd.img-3.13.0-27-generic + Found linux image: /boot/vmlinuz-3.13.0-24-generic + Found initrd image: /boot/initrd.img-3.13.0-24-generic + Found memtest86+ image: /boot/memtest86+.elf + Found memtest86+ image: /boot/memtest86+.bin + done + # grub-install /dev/sda + Installing for i386-pc platform. + Installation finished. No error reported. + +当你运行 `grub-install` 时,记得grub是安装到硬盘驱动器的引导扇区而不是到一个具体分区,所以不要加上像/dev/sda1的分区号。 + +### 如果还是不能使用 ### + +如果你的系统是如此的倒霉,而且这个方式没有能起作用,那就尝试[超级GRUB2现场救援磁盘][2]。[官方GNU GRUB手册][3]也应该是有帮助的。 + +-------------------------------------------------------------------------------- + +via: http://www.linux.com/learn/tutorials/776643-how-to-rescue-a-non-booting-grub-2-on-linux + +译者:[MikeCoder](https://github.com/MikeCoder) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.linux.com/learn/tutorials/730440-using-the-new-guid-partition-table-in-linux-good-bye-ancient-mbr- +[2]:http://www.supergrubdisk.org/ +[3]:https://www.gnu.org/software/grub/manual/grub.html From 5f0249f7fb355c7c9e3ef3ce3531245460cfe786 Mon Sep 17 00:00:00 2001 From: wxy Date: Mon, 30 Jun 2014 20:50:16 +0800 Subject: [PATCH 21/56] PUB:20140529 Command Line Tuesdays--The Introductory @GOLinux --- ...Command Line Tuesdays--The Introductory.md | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) rename {translated/talk => published}/20140529 Command Line Tuesdays--The Introductory.md (64%) diff --git a/translated/talk/20140529 Command Line Tuesdays--The Introductory.md b/published/20140529 Command Line Tuesdays--The Introductory.md similarity index 64% rename from translated/talk/20140529 Command Line Tuesdays--The Introductory.md rename to published/20140529 Command Line Tuesdays--The Introductory.md index 89048f554f..03dbe0b0dc 100644 --- a/translated/talk/20140529 Command Line Tuesdays--The Introductory.md +++ b/published/20140529 Command Line Tuesdays--The Introductory.md @@ -2,14 +2,13 @@ ================================================================================ **嗨,极客们!** -今天,我们介绍给大家一个新的系列节目,它叫命令行星期二。为什么叫命令行星期二?因为在该系列节目中,就像你们这样的忠实的计算机迷们,每天将会试着走出图形用户界面(GUI)文化的藩篱,GUI文化就是让事情变得简单而大众化。 +今天,我们介绍给大家一个新的系列节目,它叫命令行星期二。为什么叫命令行星期二?因为在该系列节目中,每天坐在计算机前的你们,将会试着走出图形用户界面(GUI)文化的藩篱,从今天开始“让事情变得简单而大众化”。 -当然,如果你访问过任何与GNU/Linux相关的社区论坛的话,你可能耳闻目睹了一次火热的辩论,当然这是个假设,话题是哪个实际上更易用。是让GUI掌控一切,还是只是学习并享受命令行界(CLI)面带来的乐趣。 +当然,如果你访问过任何与GNU/Linux相关的社区论坛的话,你可能已经看到了,关于GUI和命令行哪个更好的讨论非常热烈。是让GUI掌控一切,还是只是学习并享受命令行界(CLI)面带来的乐趣呢? ![Terminal](http://sholva.org/assets/images/blog/2009/review-opensuse-11.2/opensuse-terminal.png) -终端 -对于使用或抛弃GUI工具的争论有很多。正方最常提到的优点之一,就是我们是在点击的计算模式下长大的,所以它基本上就是我们和机器进行交互的一种语言或文化形式。我们日复一日重复着这样的模式,点击那个大按钮来让它干我们需要它干的事。 +对于使用或抛弃GUI工具的争论有很多。正方最常提到的优点之一,就是我们是在点击的计算模式下长大的,所以它基本上就是我们和机器进行交互的一种语言,或者你可以说是一种文化。我们日复一日重复着这样的模式,点击那个大按钮来让它干我们需要它干的事。 而对于反方,我读到的关于命令行的优点的最有趣的评论之一,就是你可以通过命令行来更快,更简单地做更多事情,比GUI工具来得快。但你需要明白的是:你需要学习命令。是的,学习它们,就像学一首诗一样。 @@ -17,27 +16,28 @@ ### 寓言 ### -我已经用了Linux超过3年了。27岁,是个文学专业学生,我对任何形式的技术都没有太大的兴趣。我直到中学才有了一台属于自己的计算机,我想大概是17岁那年吧。对于我而言,只用了10年的计算机。我只用过三个程序,BS播放器,Winamp和足球经理,偶尔也用用MS Word。大约三年多以前,我做临时工时的一位同事,在我正和另外一位同僚谈话时告诉我说,有个新版的东西,它一下子就抓住了我的心,它看起来确实与众不同。我现在想想,它就是Ubuntu的敏捷的独角鲸。在和这位同事讨论这个新版本后,他指出了一些常见的优点,这些优点也是我们经常向新手宣传的,不需要杀毒软件,启动快捷,安全性更高,附带有软件中心等等之类。最突出的一点:它背后的自由和开源(FOSS)哲学。他用他不带侵害性和没一点孩子气的方式把我带了进去。 +我已经用了Linux超过3年了。27岁,是个文学专业学生,我对任何形式的技术都没有太大的兴趣。我直到中学才有了一台属于自己的计算机,我想大概是17岁那年吧。对于我而言,只用了10年的计算机。我只用过三个程序,BS播放器,Winamp和足球经理,偶尔也用用MS Word。大约三年多以前,我做临时工时的一位同事,在我正和另外一位同僚谈话时告诉我说,有个新版的东西,它一下子就抓住了我的心,它看起来确实与众不同。我现在想想,它就是Ubuntu的“敏捷的独角鲸”。在和这位同事讨论这个新版本后,他指出了一些常见的优点,这些优点也是我们经常向新手宣传的,不需要杀毒软件,启动快捷,安全性更高,附带有软件中心等等之类。最突出的一点:它背后的自由和开源(FOSS)哲学。他用他温和而优雅的方式把我带了进去。 -我决定来一次尝试,而从那以后便一发不可收拾。而至于我是怎么又从第一次对Ubuntu的浅尝辄止转而投向openSUSE 11.4的,咋们下回再讲吧。而我发现它只是一个完美而甜蜜的小插曲,那就完完全全另外一回事了。问题在于,我最终进入了Linux领域。这很有趣,感觉很不一样,它让我的计算机跑得更好,它也更稳定,我也和它相处得很好(似乎我是在不经意间买到了相当正统的硬件)。Linux似乎也远不止是桌面,所以我只是在不得不使用终端的时候也使用终端。但是这么说吧,它是Linux中一个最为讨厌的,最为可怕,最令人不爽的工具之一。如果没有GUI来进行特别的操作,我马上会诚惶诚恐,十分不安了。因为当我从论坛复制/粘贴命令的时候,我都不知道我究竟在干些什么。 +我决定来一次尝试,而从那以后便一发不可收拾。而至于我是怎么又从第一次对Ubuntu的浅尝辄止转而投向openSUSE 11.4的,咋们下回再讲吧。而我发现它只是一个完美而甜蜜的小插曲时,那就完完全全另外一回事了。问题在于,我最终进入了Linux领域。这很有趣,感觉很不一样,它让我的计算机跑得更好,它也更稳定,我也和它相处得很好(似乎我是在不经意间买到了相当普通的硬件)。似乎Linux并不是一个完全的桌面系统,所以我有时不得不使用终端。但是这么说吧,它是Linux中一个最为讨厌的,最为可怕,最令人不爽的工具之一。如果某些操作没有GUI可以做的话,我马上会诚惶诚恐,十分不安了。因为当我从论坛复制/粘贴命令的时候,我都不知道我究竟在干些什么。 随着时间流逝,情况发生了变化。相对于其他以消费者为导向的系统,发生在我身上的事可能有点与一般人相反。在那三年中,我感觉不是我在玩系统,而是系统在玩我。我学会了怎样寻找基本问题,提交bug报告,怎样正确地在论坛上提问。对于碰到的每个问题,我学会了为那些更有能力帮我解决问题的人提供更有用的信息。 -不久以前,我女朋友发泄道,她简直不敢相信,我主要为了用计算机而用计算机,而不是用它来做一些别的事情。”你只用它来进行音乐收藏和做些Linux的乱七八糟的事情,Nenad. Gaawd“它让我想啊,使劲想。Linux,特别是openSUSE发行版它成了我的爱好之一。我不是一个专家,不管怎么说都说得通,Linux不在我的专业知识范畴内。但我有足够的知识来搞定它,搞定一些小问题,修改一些配置文件等等。但是我终于认识到,随着玩Linux日久,对系统的调整日多,我真的需要熟悉一下命令行(CLI)了。我也了解到,我在对底层的东西一无所知的情况下对系统胡作非为。我要对着ETC大喊大叫了,它究竟是个什么东西?BIN又是个什么东西?为什么会有个.sh在后面?问什么这个文件在这里?那个文件又在那里?为什么我得点击那一大堆的文件夹来找到正确的文件进行修改?然后,我读到‘你可以用一个命令来简单地列出某个地方的所有文件’时,它又变得很有趣了,我突然感到迫不及待要想试试了。 +不久以前,我女朋友发泄说,她简直不敢相信,我主要为了用计算机而用计算机,而不是用它来做一些别的事情。“你只用它来进行音乐收藏和做些Linux的乱七八糟的事情,Nenad. Gaawd”它让我想啊,使劲想。Linux,特别是openSUSE发行版它成了我的爱好之一。我不是一个专家,不管怎么看都是这样,Linux不在我的专业知识范畴内。但我有足够的知识来搞定它,搞定一些小问题,修改一些配置文件等等。但是我终于认识到,随着玩Linux日久,对系统的调整日多,我真的需要熟悉一下命令行(CLI)了。我也了解到,我在对底层的东西一无所知的情况下对系统胡作非为。我要对着etc大喊大叫了,它究竟是个什么东西?bin又是个什么东西?为什么会有个.sh在后面?问什么这个文件在这里?那个文件又在那里?为什么我得点击那一大堆的文件夹来找到正确的文件进行修改?然后,我读到“你可以用一个命令来简单地列出某个地方的所有文件”时,它又变得很有趣了,我突然感到迫不及待要想试试了。 ### 好吧,让我们干吧! ### -我们来了……。作为一位新的openSUSE的新闻发布者,我会试着以我所见最有成效的方式来发表我的看法,这样的方式我想对社区中绝大多数人会奏效。该高举旗帜,一起开始学习命令行了。如果是是什么吸引你到Linux和openSUSE中来这么个态度,就想我,引领你走了这么远,那么是时候走得更远一点了。 +我们来了……。作为一位新的openSUSE的新闻发布者,我会试着以我所见最有成效的方式来发表我的看法,这样的方式我想对社区中绝大多数人会奏效。该高举旗帜,一起开始学习命令行了。如果是哲学理念吸引你到Linux和openSUSE中来的,就像我一样,那么是时候走得更远一点了。 ![](http://beerepiphany.files.wordpress.com/2010/04/pinky_brain.jpg) -看,我就知道在那外头有一大堆像我这样的人。我知道,你也许没有抓住90后极客们的要点,黑屏-绿字-手指在键盘上乱飞-让一切都激情澎湃。但这在很多地方都很有用。我们将以一种有趣的,而又共有的方式来学习,目录是用来干什么,什么文件放在什么地方,以及一些最常用的终端命令。在我们在控制台处理一些任务时,这将让我们更轻松一些;在碰到一些问题时,获得更大的回报。它也会让bug处理者更轻松些,如果他们从我们这头收到正确的信息的话。它也让我们的爱好变得乐趣无穷。 +看,我就知道在那外头有一大堆像我这样的人。我知道,你也许没有抓住90后极客们的要点,黑屏-绿字-手指在键盘上乱飞-让一切都激情澎湃。但这在很多地方都很有用。我们将以一种有趣的,而又通用的方式来学习,目录是用来干什么,什么文件放在什么地方,以及一些最常用的终端命令。在我们在控制台处理一些任务时,这将让我们更轻松一些;在碰到一些问题时,获得更大的回报。它也会让bug处理者更轻松些,如果他们从我们这头收到正确的信息的话。它也让我们的爱好变得乐趣无穷。 我是说,我的天啊,你已经过渡到连Dilber和xkcd都感到有趣的阶段了。是时候到终端下去了。 附录: -要用到的一些参考资料:威廉 · 肖茨—— 《Linux命令行》,以及克罗地亚黑客韦利米尔 ·巴克沙,别名鲁塞拉斯,《关于最常用命令的简短教程》。对于你们的要求: +要用到的一些参考资料:威廉·肖茨—— 《Linux命令行》,以及克罗地亚黑客韦利米尔·巴克沙,别名鲁塞拉斯,《关于最常用命令的简短教程》。对于你们的要求: + - 每周1到2小时的空闲时间 - 一品脱冰冻啤酒或者其它饮料 - 有人已经指出,使用[Gedit][1],或者手工记录本(你懂的,笔和纸,呵呵)可以让学习更简单一些。 @@ -50,7 +50,7 @@ via: https://news.opensuse.org/2014/05/27/command-line-tuesdays-the-introductory/ -译者:[GOLinux](https://github.com/GOLinux) 校对:[校对者ID](https://github.com/校对者ID) +译者:[GOLinux](https://github.com/GOLinux) 校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From 1632eb9f57e1f5180208a11f71f25b0d9f86a824 Mon Sep 17 00:00:00 2001 From: wxy Date: Mon, 30 Jun 2014 21:01:14 +0800 Subject: [PATCH 22/56] PUB:20140612 Command Line Tuesdays--Part One @GOLinux --- ...0140612 Command Line Tuesdays--Part One.md | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) rename {translated/tech => published}/20140612 Command Line Tuesdays--Part One.md (72%) diff --git a/translated/tech/20140612 Command Line Tuesdays--Part One.md b/published/20140612 Command Line Tuesdays--Part One.md similarity index 72% rename from translated/tech/20140612 Command Line Tuesdays--Part One.md rename to published/20140612 Command Line Tuesdays--Part One.md index ea20bb5f1e..29b9dafdc2 100644 --- a/translated/tech/20140612 Command Line Tuesdays--Part One.md +++ b/published/20140612 Command Line Tuesdays--Part One.md @@ -1,26 +1,26 @@ -命令行星期二 — 第一篇 +命令行星期二 —— 第一篇 ================================================================================ 极客们,我们又回来了!真抱歉让你们久等了,但我保证,我们又回归正轨了。我们满怀热情与大家相约,让我们激情燃烧,寻找刺激吧:) -现在,整个的想法已经在两周前的开场白中告诉你们了,所以现在让我们来干点正事吧。就像Shotts先生书里讲得那样,我们需要来了解一下shell是个什么东西,终端模拟器又是个什么东西,因为我们要在这里头干活。 +现在,整个的想法已经在之前的开场白中告诉你们了,所以现在让我们来干点正事吧。就像肖茨先生书里讲得那样,我们需要来了解一下shell是个什么东西,终端模拟器又是个什么东西,因为我们要在这里头干活。 -Shotts在他的书中写道,shell实际上是当我们谈论命令行时所谈论的东西。shell基本上一个程序,它将你敲击键盘的动作传递给计算机;它也是某种形式的翻译器,将你所讲的东西翻译给计算机听。在这世界上活着的shell真是五花八门,但是活得最好的要数**bash**了,它在GNU/Linux中随处可见。我们也叫它Bourne Again Shell,这是一个精巧的双关语,因为自从Bourne先生创造了它的祖先**sh**后,Brian Fox又把它重写成为一个自由的sh替代品。啊哈!GUN人和他们的幽默,真的很精明。:) +肖茨在他的书中写道,shell实际上是当我们谈论命令行时所谈论的东西。shell基本上一个程序,它将你敲击键盘的动作传递给计算机;它也是某种形式的翻译器,将你所讲的东西翻译给计算机听。在这世界上活着的shell真是五花八门,但是活得最好的要数**bash**了,它在GNU/Linux中随处可见。我们也叫它Bourne Again Shell,这是一个精巧的双关语,因为自从Bourne先生创造了它的祖先**sh**后,Brian Fox又把它重写成为一个自由的sh替代品。啊哈!GUN人和他们的幽默,真的很精明。:) ![](http://paste.opensuse.org/images/54535272.jpg) -接下来我所需要,是一个让我们能和shell交互的东西,它就是终端模拟器。每个Linux发行版都自带了一个,至于长什么样就得看你使用的桌面环境了,可能是KDE的**Konsole**,也可能是Gnome的**Gnome terminal**等等。Shotts先生说了,你可以开发出你所偏爱的一个,但是大部分时间我还是用用桌面环境给我提供的那个吧。 +接下来我所需要,是一个让我们能和shell交互的东西,它就是终端模拟器。每个Linux发行版都自带了一个,至于长什么样就得看你使用的桌面环境了,可能是KDE的**Konsole**,也可能是Gnome的**Gnome terminal**等等。肖茨先生说了,你可以挖掘出你所偏爱的一个,但是大部分时间我还是用桌面环境给我提供的那个吧。 现在来发动你的终端。打开后,你会见到一行字,这行字告诉你用户名和机器的主机名,它叫作shell提示符。它告诉你它准备好了,你可以输入命令了。让我们来随便玩玩,随便输入点什么东西进去,然后敲回车看看。 呵呵,还记开篇我们讲过,我们需要像学诗歌一样来学习命令吗?记得就好,随意乱来可干不了啥事。 -现在,按那个上箭头,你会发现命令又回来了。这是啥魔法?你键盘上的上箭头用来取出历史命令。终端会保存总计500个你输入过的命令,所以别一次又一次地重复敲它们了,你可以用上/下箭头来查找它们。左右箭头用来在指定行中移动光标,这样你就可以在文本中编辑或者插入了。另外一个东西 — **ctrl+v**是用来粘贴不工作的文本的。你可以在某个地方将它设置成快捷键,但是它常常不是那么回事。检查你的模拟器的快捷键!(在Konsole中,它位于设置 > 配置快捷键) +现在,按那个上箭头,你会发现命令又回来了。这是啥魔法?你键盘上的上箭头用来取出历史命令。终端会保存总计500个你输入过的命令,所以别一次又一次地重复敲它们了,你可以用上/下箭头来查找它们。左右箭头用来在指定行中移动光标,这样你就可以在文本中编辑或者插入了。另外注意,想用**ctrl+v**来粘贴文本是不行的。你可以在某个地方将它设置成快捷键,但是它常常不是那么回事。检查你的模拟器的快捷键!(在Konsole中,它位于设置 > 配置快捷键) -现在,为了我们不在挨‘命令找不到’这一巴掌,让我们试试一些简单的。敲个**date**来试试。(是的,我不知道有这么个命令,这真着实让我兴奋了一把):) +现在,为了我们不再被‘命令找不到’抽一巴掌,让我们试试一些简单的。敲个**date**来试试。(是的,我不知道有这么个命令,这真着实让我兴奋了一把):) ![](http://paste.opensuse.org/images/7123365.png) -你又来了。当你能打开终端并输入date命令来查看日期时,为什么在时钟中看看内建日历会让你不胜其烦 :) 只是开个玩笑。就像Shotts书里写的那样,它确实是个简单的命令,更有用/困难的命令会在以后介绍。跟date相关的命令是cal - 它会显示当前月的日历。 +你又来了。当你能打开终端并输入date命令来查看日期时,为什么在时钟中看看内建日历会让你不胜其烦 :) 只是开个玩笑。就像肖茨书里写的那样,它确实是个简单的命令,更有用也更复杂的命令会在以后介绍。跟date相关的命令是cal - 它会显示当前月的日历。 你也可以试试**df**,它会列出你驱动器上的空闲空间。 @@ -38,7 +38,7 @@ Shotts在他的书中写道,shell实际上是当我们谈论命令行时所谈 - 我们需要用什么来和shell交流(终端模拟器) - 使用光标按钮来驾驭终端命令以及退出终端 -是个简单的命令: +四个简单的命令: - **date** – 显示当前日期 - **cal** – 显示当前月份的日历 @@ -47,7 +47,6 @@ Shotts在他的书中写道,shell实际上是当我们谈论命令行时所谈 ### 下周二我们将会做什么呢? ### -We learn navigation through the file system (what are all those bin etc etc. folders, what are they used for, how to navigate through them via the terminal). Until then… 我们会学习在文件系统中导航(bin、etc等等这所有的文件夹都是些什么东西?它们用来干什么?怎样通过终端来浏览它们)。到那时…… ### 你就有得乐了! ### @@ -58,6 +57,6 @@ We learn navigation through the file system (what are all those bin etc etc. fol via: https://news.opensuse.org/2014/06/10/command-line-tuesdays-part-one/ -译者:[GOLinux](https://github.com/GOLinux) 校对:[校对者ID](https://github.com/校对者ID) +译者:[GOLinux](https://github.com/GOLinux) 校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 \ No newline at end of file From 841a91b978da81993d7ef27c0f67ed110162fb0b Mon Sep 17 00:00:00 2001 From: wxy Date: Mon, 30 Jun 2014 21:48:40 +0800 Subject: [PATCH 23/56] PUB:20140528 Why We Shouldn't Accept Bad Linux Ports MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @Vic020 发布了。 另外, port 这里指的是“移植”——从windows游戏移植到Linux上。 --- ...Why We Shouldn't Accept Bad Linux Ports.md | 33 +++++++++++++++++++ ...Why We Shouldn't Accept Bad Linux Ports.md | 33 ------------------- 2 files changed, 33 insertions(+), 33 deletions(-) create mode 100644 published/20140528 Why We Shouldn't Accept Bad Linux Ports.md delete mode 100644 translated/talk/20140528 Why We Shouldn't Accept Bad Linux Ports.md diff --git a/published/20140528 Why We Shouldn't Accept Bad Linux Ports.md b/published/20140528 Why We Shouldn't Accept Bad Linux Ports.md new file mode 100644 index 0000000000..cefc707f1e --- /dev/null +++ b/published/20140528 Why We Shouldn't Accept Bad Linux Ports.md @@ -0,0 +1,33 @@ +为什么我们不应该接受低劣的Linux移植游戏 +================================================================================ +由于最近The Witcher 2的惨败,我想写下些想法,为什么我们不应该接受来自开发人员的品质低劣的移植游戏。 + +最近几年在我们的Linux游戏库里面有如此多游戏,以至于你现在可以看到来自Linux玩家的评论“我们已经有很多游戏了!”可能这些声音来自很多像你一样的人。感谢Valve 和 Steam,之前我们从来没有得到过这么多的开发者的关注。 + +同样由于开发者的推进,我们看见了伴随而来的各种移植游戏,坦率地说,它们的质量十分的低劣,或者说对于大多数人们来说根本不值得去看一眼。 + +现在的问题就是,如果我们继续接受这种低水平质量的移植,Linux就会赢得一个游戏质量水平低的名声。请认真考虑一下这样的后果吧! + +再想象一下,如果那些AAA级的开发者给Linux推送了大量游戏,其中使用了The Witcher2 移植所用的“eON”技术。看起来就像我们有了大量开发者,突然之间Linux有很多大牌游戏了。然后你可以看见大量的人尝试Linux,却发现它们的游戏在同等硬件之下却有着糟糕的画面,就会给他们一个印象,Linux对游戏不友好。这对我们所有人都很糟糕。 + +我已经看见许多人说“这个工具包用于移植没关系?”。这在我的眼里看来是一个非常天真的想法。当然,这有关系, 它意味Linux的游戏里面的光线和白天的不同品质。这就直接追溯到我上面关于Linux游戏的观点上了。 + +你可以坚持说工具包没有关系,而且使用任何一个你想用的比较/类比的效果,但如果工具包是导致问题的根源,就像我们说的计算机占用了99%的处理能力的软件一样,是的,它当然有关系! + +如今,我已经看见许多来自其他主流网站发表的评论,“我们应该接受它们并且作感谢状,我们毕竟拥有了它们”。那些都是鼠目寸光的人们说的胡话! + +![](http://www.gamingonlinux.com/uploads/articles/article_images/1401025331gol2.jpg) + +想想,那些开发者和发行商看到那些低劣的Linux移植游戏也能被接受时,他们的脑里只有钱。消费者对Linux游戏的感知就会进一步恶化,就是因为这些低劣的移植品。 + +我可以接受这些来自开发者的移植,毕竟是我运营着这个网站( http://www.gamingonlinux.com/ )。但是,如果我作为一个消费者不愿意为在windows运行挺好的游戏买单,而却为在Linux慢得像蜗牛一样的游戏买单?我会么?你会么? + +最后附加的一点:你绝不应该攻击一个试图在社区里面解决问题的开发者,这样是不可以的。反馈是很好,骂人却是很幼稚的,这会使得Linux看起来更糟。 + +-------------------------------------------------------------------------------- + +via: http://www.gamingonlinux.com/articles/why-we-shouldnt-accept-bad-linux-ports.3765 + +译者:[Vic020](http://www.vicyu.net) 校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 diff --git a/translated/talk/20140528 Why We Shouldn't Accept Bad Linux Ports.md b/translated/talk/20140528 Why We Shouldn't Accept Bad Linux Ports.md deleted file mode 100644 index fa78d5b8fe..0000000000 --- a/translated/talk/20140528 Why We Shouldn't Accept Bad Linux Ports.md +++ /dev/null @@ -1,33 +0,0 @@ -为什么我们不接收不良Linux 接口 -================================================================================ -由于最近The Witcher 2的惨败,我想写下些想法,为什么我们不应该接受来自开发人员的不良接口。 - -最近几年在我们linux的游戏库有太多该死的游戏,导致你现在可以看到来自linux玩家的评论“我已经有很多游戏了!”现在我可以想象到很多熟悉的声音。感谢Valve&Steam,之前我们从来没有看见过这么多自来开发者的注意力。 - -同样由于开发者的提交,我们看见了伴随而来的接口,它们,坦率地说,质量十分的糟糕或者说对于多数人们彻彻底底的不会用。 - -这个问题就是如果我们继续接受低水平质量的接口,Linux就会赢得一个游戏质量水平低的声誉。严肃地想想一个贴图的大怪兽。 - -再想象一下,一个3A开发者给linux推送大量游戏,使用用了The Witcher2接口“eON”的技术。那就是说我们有了大量开发者,就像突然看起来Linux有很多大牌游戏了。然后你可以看见大量的人尝试Linux,却看见它们的游戏运行者糟糕的画面,在同等硬件水品下,就会给它们一个印象,linux对游戏不友好。所以,这对所有人都不好。 - - -我已经看见许多人说“工具包用于接口真的没关系?”。这在我的眼里看来是一个非常天真的声明。当然,这有关系, 它意味Linux的游戏质量光和天的不同。它直接导致我回到关于Linux游戏的认知之上的观点。 -你可以坚持说工具包没有关系和使用任何比较/类比你幻想,但如果工具包是导致问题的根源,如同当我们讨论计算机软件它会占用99%的时间,是的,它当然有关系! - -如今,我已经看见许多评论,来自其他主流网页声明,我们应该接受它们并且作感谢状,我们毕竟拥有他们。那真是个白痴的声明,那些不看大局的人。 - -![](http://www.gamingonlinux.com/uploads/articles/article_images/1401025331gol2.jpg) - -想想,那些开发者和发行商认为可以接受推送的糟糕linux接口送出了门,总有一天得召回。它们的脑里只有利润。消费者对Linux游戏的感知就会进一步恶化,就是因为这些不良的接口。 - -我完全赞同来子开发者的接口,当然毕竟我运行着这个网站。但是,我作为一个消费者不愿意在windows可运行的游戏付钱,可是在linux运行得却像蜗牛,为什么我应该?为什么你应该? - -最后增加一个观点:当开发者研究出有问题,发布在社区,你们应该从不攻击它们,这是不可接受的。反馈是很好,骂人是很孩子气,这使得Linux再一次看起来糟糕。 - --------------------------------------------------------------------------------- - -via: http://www.gamingonlinux.com/articles/why-we-shouldnt-accept-bad-linux-ports.3765 - -译者:[Vic020](http://www.vicyu.net) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From a71aa7de9e171662fbbf154dbd75b37787349861 Mon Sep 17 00:00:00 2001 From: wxy Date: Mon, 30 Jun 2014 21:53:24 +0800 Subject: [PATCH 24/56] renamed: 10 Database Tools For Linux Users To Use!.md -> 201406/10 Database Tools For Linux Users To Use!.md renamed: 10 Linux Platforms Meant For Embedded Systems.md -> 201406/10 Linux Platforms Meant For Embedded Systems.md renamed: 20140527 4MLinux 9.0 Beta Is a 55 MB Operating System That Has It All.md -> 201406/20140527 4MLinux 9.0 Beta Is a 55 MB Operating System That Has It All.md renamed: 20140527 A Complete Historical Timeline of Linux Evolution.md -> 201406/20140527 A Complete Historical Timeline of Linux Evolution.md renamed: 20140528 Setup Backup Server Using Bacula And Webmin On Ubuntu 14.04.md -> 201406/20140528 Setup Backup Server Using Bacula And Webmin On Ubuntu 14.04.md renamed: 20140528 Why We Shouldn't Accept Bad Linux Ports.md -> 201406/20140528 Why We Shouldn't Accept Bad Linux Ports.md renamed: 20140529 Add Windows Like Bottom Taskbar In Ubuntu Unity 14.04.md -> 201406/20140529 Add Windows Like Bottom Taskbar In Ubuntu Unity 14.04.md renamed: 20140529 Command Line Tuesdays--The Introductory.md -> 201406/20140529 Command Line Tuesdays--The Introductory.md renamed: 20140529 How To Share Disks In VirtualBox Between Linux Guest OS.md -> 201406/20140529 How To Share Disks In VirtualBox Between Linux Guest OS.md renamed: 20140529 Install RainLoop Webmail (A Web Based Email Client) using 'Nginx and Apache' in Arch Linux.md -> 201406/20140529 Install RainLoop Webmail (A Web Based Email Client) using 'Nginx and Apache' in Arch Linux.md renamed: 20140529 What is a good terminal emulator on Linux.md -> 201406/20140529 What is a good terminal emulator on Linux.md renamed: 20140529 Why No Flash Support for Linux Is Good for Open Source.md -> 201406/20140529 Why No Flash Support for Linux Is Good for Open Source.md renamed: 20140530 Fix 'Cannot Add PPA' Error In Ubuntu 14.04 and Linux Mint.md -> 201406/20140530 Fix 'Cannot Add PPA' Error In Ubuntu 14.04 and Linux Mint.md renamed: 20140530 How To Install Linux On A MacBook Pro Retina.md -> 201406/20140530 How To Install Linux On A MacBook Pro Retina.md renamed: 20140530 Linux script command--A recorder inside your Terminal.md -> 201406/20140530 Linux script command--A recorder inside your Terminal.md renamed: 20140603 App Grid Is A Superior Ubuntu Software Center Alternative.md -> 201406/20140603 App Grid Is A Superior Ubuntu Software Center Alternative.md renamed: 20140603 Linux Foundation to donate portion of membership fees to Code.org.md -> 201406/20140603 Linux Foundation to donate portion of membership fees to Code.org.md renamed: 20140603 Write your first Linux Kernel module.md -> 201406/20140603 Write your first Linux Kernel module.md renamed: 20140604 Command line secrets.md -> 201406/20140604 Command line secrets.md renamed: 20140604 Setup Virtual Hosts In Apache On Ubuntu 14.04 LTS.md -> 201406/20140604 Setup Virtual Hosts In Apache On Ubuntu 14.04 LTS.md renamed: 20140607 Cup 2014 Brazil--Watch FIFA World Cup 2014 Competition in Your Linux Desktop.md -> 201406/20140607 Cup 2014 Brazil--Watch FIFA World Cup 2014 Competition in Your Linux Desktop.md renamed: 20140607 How To Extract Images From Videos Using ffmpeg.md -> 201406/20140607 How To Extract Images From Videos Using ffmpeg.md renamed: 20140607 How To Install iCup 2014 In Linux.md -> 201406/20140607 How To Install iCup 2014 In Linux.md renamed: 20140607 Linux--Bash Delete All Files In Directory Except Few.md -> 201406/20140607 Linux--Bash Delete All Files In Directory Except Few.md renamed: 20140607 New OpenSSL breach is no Heartbleed-but needs to be taken seriously.md -> 201406/20140607 New OpenSSL breach is no Heartbleed-but needs to be taken seriously.md renamed: 20140607 Nuvola Player 2.4.0 Released -- A Online Cloud Music Player for Linux.md -> 201406/20140607 Nuvola Player 2.4.0 Released -- A Online Cloud Music Player for Linux.md renamed: 20140607 Practical Interview Questions and Answers on Linux Shell Scripting.md -> 201406/20140607 Practical Interview Questions and Answers on Linux Shell Scripting.md renamed: 20140607 Steam Hits The Big 500 For Linux Games.md -> 201406/20140607 Steam Hits The Big 500 For Linux Games.md renamed: 20140607 Ubuntu One Formally Shuts Down.md -> 201406/20140607 Ubuntu One Formally Shuts Down.md renamed: 20140609 How To Know If Your System Has USB 3.0 Port In Linux [Quick Tip].md -> 201406/20140609 How To Know If Your System Has USB 3.0 Port In Linux [Quick Tip].md renamed: 20140609 Open Source LDAP Solutions.md -> 201406/20140609 Open Source LDAP Solutions.md renamed: "20140609 OpenELEC 4.0.4 \347\216\260\345\267\262\345\217\221\345\270\203, \345\237\272\344\272\216 XBMC 13.1 \342\200\234Gotham\342\200\235.md" -> "201406/20140609 OpenELEC 4.0.4 \347\216\260\345\267\262\345\217\221\345\270\203, \345\237\272\344\272\216 XBMC 13.1 \342\200\234Gotham\342\200\235.md" renamed: 20140610 How to set up Internet connection sharing with iptables on Linux.md -> 201406/20140610 How to set up Internet connection sharing with iptables on Linux.md renamed: 20140610 IPFire 2.13 Core 78 Linux Firewall OS Receives OpenSSL Fixes.md -> 201406/20140610 IPFire 2.13 Core 78 Linux Firewall OS Receives OpenSSL Fixes.md renamed: 20140610 Open Source SDN Project OpenDaylight Adds New Members.md -> 201406/20140610 Open Source SDN Project OpenDaylight Adds New Members.md renamed: 20140610 Top 7 Desktop Environment For Linux.md -> 201406/20140610 Top 7 Desktop Environment For Linux.md renamed: 20140611 HTG Explains--What' s the Difference Between Linux and BSD.md -> 201406/20140611 HTG Explains--What' s the Difference Between Linux and BSD.md renamed: 20140611 How to Prevent Other Users From Accessing Your Home Directory in Ubuntu 14.04.md -> 201406/20140611 How to Prevent Other Users From Accessing Your Home Directory in Ubuntu 14.04.md renamed: 20140612 Command Line Tuesdays--Part One.md -> 201406/20140612 Command Line Tuesdays--Part One.md renamed: 20140612 Dpkg Vulnerabilities Closed in Ubuntu 14.04.md -> 201406/20140612 Dpkg Vulnerabilities Closed in Ubuntu 14.04.md renamed: 20140616 How To Install Numix Icon Theme In Fedora 20.md -> 201406/20140616 How To Install Numix Icon Theme In Fedora 20.md renamed: 20140616 Ubuntu Desktop Next 14.10 Images Available to Download.md -> 201406/20140616 Ubuntu Desktop Next 14.10 Images Available to Download.md renamed: 20140616 Ubuntu for Phones Activated on 10,000 Devices.md -> 201406/20140616 Ubuntu for Phones Activated on 10,000 Devices.md renamed: 20140617 14 Apps To Boost Ubuntu.md -> 201406/20140617 14 Apps To Boost Ubuntu.md renamed: 20140619 Improve Battery Life with Laptop Mode Tools 1.65.md -> 201406/20140619 Improve Battery Life with Laptop Mode Tools 1.65.md renamed: 20140619 Red Hat to Acquire eNovance, Focus Together on OpenStack.md -> 201406/20140619 Red Hat to Acquire eNovance, Focus Together on OpenStack.md renamed: 20140620 Celebrating 30 Years of X.md -> 201406/20140620 Celebrating 30 Years of X.md renamed: 20140620 ENCRYPT DNS TRAFFIC IN LINUX WITH DNSCRYPT (VIA OPENDNS).md -> 201406/20140620 ENCRYPT DNS TRAFFIC IN LINUX WITH DNSCRYPT (VIA OPENDNS).md renamed: 20140620 How to enable testing and unstable repository on Debian.md -> 201406/20140620 How to enable testing and unstable repository on Debian.md renamed: 20140625 Canonical Debuts 'Orange Box' for Ubuntu OpenStack Cloud Demos.md -> 201406/20140625 Canonical Debuts 'Orange Box' for Ubuntu OpenStack Cloud Demos.md renamed: 8 examples of findmnt command to check mounted file systems on Linux.md -> 201406/8 examples of findmnt command to check mounted file systems on Linux.md renamed: Bash Getopts--Scripts with Command Line Options.md -> 201406/Bash Getopts--Scripts with Command Line Options.md renamed: Collectl--An Advanced All-in-One Performance Monitoring Tool for Linux.md -> 201406/Collectl--An Advanced All-in-One Performance Monitoring Tool for Linux.md renamed: Fix Adobe Flash Player Issue In Chromium In Ubuntu 14.04.md -> 201406/Fix Adobe Flash Player Issue In Chromium In Ubuntu 14.04.md renamed: Guide To Install Ubuntu 14.04 In Dual Boot Mode With Windows 8 Or 8.1 UEFI.md -> 201406/Guide To Install Ubuntu 14.04 In Dual Boot Mode With Windows 8 Or 8.1 UEFI.md renamed: How To Install 'California' Calendar App in Ubuntu 14.04.md -> 201406/How To Install 'California' Calendar App in Ubuntu 14.04.md renamed: How To Remove Drive Icons From Unity Launcher In Ubuntu 14.04 [Beginner Tips].md -> 201406/How To Remove Drive Icons From Unity Launcher In Ubuntu 14.04 [Beginner Tips].md renamed: How to Install Windows 8.1 and Ubuntu 14.04 LTS on the Same Computer.md -> 201406/How to Install Windows 8.1 and Ubuntu 14.04 LTS on the Same Computer.md renamed: How to download webcomics from the command line on Linux.md -> 201406/How to download webcomics from the command line on Linux.md renamed: How to launch applications differently with Gnome-Pie on Linux desktop.md -> 201406/How to launch applications differently with Gnome-Pie on Linux desktop.md renamed: How to manage Linux containers with Docker on Ubuntu.md -> 201406/How to manage Linux containers with Docker on Ubuntu.md renamed: How to manage ip addresses and subnets with phpIPAM.md -> 201406/How to manage ip addresses and subnets with phpIPAM.md renamed: How to manage passwords from the command line on Linux.md -> 201406/How to manage passwords from the command line on Linux.md renamed: How to monitor Nginx web server from the command line in real time.md -> 201406/How to monitor Nginx web server from the command line in real time.md renamed: How to set up a web-based lightweight system monitor on Linux.md -> 201406/How to set up a web-based lightweight system monitor on Linux.md renamed: How to take a screenshot from the command line on Linux.md -> 201406/How to take a screenshot from the command line on Linux.md renamed: How to take full length screenshots of websites via terminal.md -> 201406/How to take full length screenshots of websites via terminal.md renamed: How to use LVM in Linux.md -> 201406/How to use LVM in Linux.md renamed: How to verify DDOS attack with netstat command on Linux Terminal.md -> 201406/How to verify DDOS attack with netstat command on Linux Terminal.md renamed: Install SoundCloud In Ubuntu 14.04.md -> 201406/Install SoundCloud In Ubuntu 14.04.md renamed: Linux Pros' Top Command Line Secrets.md -> 201406/Linux Pros' Top Command Line Secrets.md renamed: Linux Terminal--Dstat monitoring tools.md -> 201406/Linux Terminal--Dstat monitoring tools.md renamed: Making Linux Feel at Home.md -> 201406/Making Linux Feel at Home.md renamed: Open Source's Cult Of Personality Is Dying--Thankfully.md -> 201406/Open Source's Cult Of Personality Is Dying--Thankfully.md renamed: Pros' Secrets and Red Hat 7 and PCLinuxOS 2014.05 Reviews.md -> 201406/Pros' Secrets and Red Hat 7 and PCLinuxOS 2014.05 Reviews.md renamed: Start Practising Linux ip command and Avoid the Habit of Using ifconfig.md -> 201406/Start Practising Linux ip command and Avoid the Habit of Using ifconfig.md renamed: TechView--Linus Torvalds Inventor of Linux.md -> 201406/TechView--Linus Torvalds Inventor of Linux.md renamed: Turn Off Bluetooth By Default In Ubuntu 14.04 [Quick Tip].md -> 201406/Turn Off Bluetooth By Default In Ubuntu 14.04 [Quick Tip].md renamed: Ubuntu Linux Community Manager Jono Bacon Leaves Canonical.md -> 201406/Ubuntu Linux Community Manager Jono Bacon Leaves Canonical.md renamed: What Heartbleed Teaches Us--Be An Open Source Contributor, Not Just A User.md -> 201406/What Heartbleed Teaches Us--Be An Open Source Contributor, Not Just A User.md renamed: Why htop Command Compete Linux top Command.md -> 201406/Why htop Command Compete Linux top Command.md --- .../{ => 201406}/10 Database Tools For Linux Users To Use!.md | 0 .../{ => 201406}/10 Linux Platforms Meant For Embedded Systems.md | 0 ...MLinux 9.0 Beta Is a 55 MB Operating System That Has It All.md | 0 .../20140527 A Complete Historical Timeline of Linux Evolution.md | 0 ...Setup Backup Server Using Bacula And Webmin On Ubuntu 14.04.md | 0 .../20140528 Why We Shouldn't Accept Bad Linux Ports.md | 0 ...40529 Add Windows Like Bottom Taskbar In Ubuntu Unity 14.04.md | 0 .../20140529 Command Line Tuesdays--The Introductory.md | 0 ...529 How To Share Disks In VirtualBox Between Linux Guest OS.md | 0 ... Based Email Client) using 'Nginx and Apache' in Arch Linux.md | 0 .../20140529 What is a good terminal emulator on Linux.md | 0 ...0529 Why No Flash Support for Linux Is Good for Open Source.md | 0 ...0 Fix 'Cannot Add PPA' Error In Ubuntu 14.04 and Linux Mint.md | 0 .../20140530 How To Install Linux On A MacBook Pro Retina.md | 0 ...40530 Linux script command--A recorder inside your Terminal.md | 0 ...3 App Grid Is A Superior Ubuntu Software Center Alternative.md | 0 ...Foundation to donate portion of membership fees to Code.org.md | 0 .../{ => 201406}/20140603 Write your first Linux Kernel module.md | 0 published/{ => 201406}/20140604 Command line secrets.md | 0 .../20140604 Setup Virtual Hosts In Apache On Ubuntu 14.04 LTS.md | 0 ...Watch FIFA World Cup 2014 Competition in Your Linux Desktop.md | 0 .../20140607 How To Extract Images From Videos Using ffmpeg.md | 0 .../{ => 201406}/20140607 How To Install iCup 2014 In Linux.md | 0 ...140607 Linux--Bash Delete All Files In Directory Except Few.md | 0 ...SSL breach is no Heartbleed-but needs to be taken seriously.md | 0 ...yer 2.4.0 Released -- A Online Cloud Music Player for Linux.md | 0 ...al Interview Questions and Answers on Linux Shell Scripting.md | 0 .../20140607 Steam Hits The Big 500 For Linux Games.md | 0 published/{ => 201406}/20140607 Ubuntu One Formally Shuts Down.md | 0 ...o Know If Your System Has USB 3.0 Port In Linux [Quick Tip].md | 0 published/{ => 201406}/20140609 Open Source LDAP Solutions.md | 0 .../20140609 OpenELEC 4.0.4 现已发布, 基于 XBMC 13.1 “Gotham”.md | 0 ...o set up Internet connection sharing with iptables on Linux.md | 0 ...PFire 2.13 Core 78 Linux Firewall OS Receives OpenSSL Fixes.md | 0 ...40610 Open Source SDN Project OpenDaylight Adds New Members.md | 0 .../{ => 201406}/20140610 Top 7 Desktop Environment For Linux.md | 0 ... HTG Explains--What' s the Difference Between Linux and BSD.md | 0 ...er Users From Accessing Your Home Directory in Ubuntu 14.04.md | 0 .../{ => 201406}/20140612 Command Line Tuesdays--Part One.md | 0 .../20140612 Dpkg Vulnerabilities Closed in Ubuntu 14.04.md | 0 .../20140616 How To Install Numix Icon Theme In Fedora 20.md | 0 ...0616 Ubuntu Desktop Next 14.10 Images Available to Download.md | 0 .../20140616 Ubuntu for Phones Activated on 10,000 Devices.md | 0 published/{ => 201406}/20140617 14 Apps To Boost Ubuntu.md | 0 .../20140619 Improve Battery Life with Laptop Mode Tools 1.65.md | 0 ...19 Red Hat to Acquire eNovance, Focus Together on OpenStack.md | 0 published/{ => 201406}/20140620 Celebrating 30 Years of X.md | 0 ...20 ENCRYPT DNS TRAFFIC IN LINUX WITH DNSCRYPT (VIA OPENDNS).md | 0 ...620 How to enable testing and unstable repository on Debian.md | 0 ...onical Debuts 'Orange Box' for Ubuntu OpenStack Cloud Demos.md | 0 ...s of findmnt command to check mounted file systems on Linux.md | 0 .../Bash Getopts--Scripts with Command Line Options.md | 0 ...n Advanced All-in-One Performance Monitoring Tool for Linux.md | 0 .../Fix Adobe Flash Player Issue In Chromium In Ubuntu 14.04.md | 0 ...l Ubuntu 14.04 In Dual Boot Mode With Windows 8 Or 8.1 UEFI.md | 0 .../How To Install 'California' Calendar App in Ubuntu 14.04.md | 0 ...e Icons From Unity Launcher In Ubuntu 14.04 [Beginner Tips].md | 0 ...stall Windows 8.1 and Ubuntu 14.04 LTS on the Same Computer.md | 0 .../How to download webcomics from the command line on Linux.md | 0 ...ch applications differently with Gnome-Pie on Linux desktop.md | 0 .../How to manage Linux containers with Docker on Ubuntu.md | 0 .../How to manage ip addresses and subnets with phpIPAM.md | 0 .../How to manage passwords from the command line on Linux.md | 0 ...monitor Nginx web server from the command line in real time.md | 0 ...w to set up a web-based lightweight system monitor on Linux.md | 0 .../How to take a screenshot from the command line on Linux.md | 0 ...ow to take full length screenshots of websites via terminal.md | 0 published/{ => 201406}/How to use LVM in Linux.md | 0 ...o verify DDOS attack with netstat command on Linux Terminal.md | 0 published/{ => 201406}/Install SoundCloud In Ubuntu 14.04.md | 0 published/{ => 201406}/Linux Pros' Top Command Line Secrets.md | 0 published/{ => 201406}/Linux Terminal--Dstat monitoring tools.md | 0 published/{ => 201406}/Making Linux Feel at Home.md | 0 .../Open Source's Cult Of Personality Is Dying--Thankfully.md | 0 .../Pros' Secrets and Red Hat 7 and PCLinuxOS 2014.05 Reviews.md | 0 ...sing Linux ip command and Avoid the Habit of Using ifconfig.md | 0 .../{ => 201406}/TechView--Linus Torvalds Inventor of Linux.md | 0 .../Turn Off Bluetooth By Default In Ubuntu 14.04 [Quick Tip].md | 0 .../Ubuntu Linux Community Manager Jono Bacon Leaves Canonical.md | 0 ... Teaches Us--Be An Open Source Contributor, Not Just A User.md | 0 .../{ => 201406}/Why htop Command Compete Linux top Command.md | 0 81 files changed, 0 insertions(+), 0 deletions(-) rename published/{ => 201406}/10 Database Tools For Linux Users To Use!.md (100%) rename published/{ => 201406}/10 Linux Platforms Meant For Embedded Systems.md (100%) rename published/{ => 201406}/20140527 4MLinux 9.0 Beta Is a 55 MB Operating System That Has It All.md (100%) rename published/{ => 201406}/20140527 A Complete Historical Timeline of Linux Evolution.md (100%) rename published/{ => 201406}/20140528 Setup Backup Server Using Bacula And Webmin On Ubuntu 14.04.md (100%) rename published/{ => 201406}/20140528 Why We Shouldn't Accept Bad Linux Ports.md (100%) rename published/{ => 201406}/20140529 Add Windows Like Bottom Taskbar In Ubuntu Unity 14.04.md (100%) rename published/{ => 201406}/20140529 Command Line Tuesdays--The Introductory.md (100%) rename published/{ => 201406}/20140529 How To Share Disks In VirtualBox Between Linux Guest OS.md (100%) rename published/{ => 201406}/20140529 Install RainLoop Webmail (A Web Based Email Client) using 'Nginx and Apache' in Arch Linux.md (100%) rename published/{ => 201406}/20140529 What is a good terminal emulator on Linux.md (100%) rename published/{ => 201406}/20140529 Why No Flash Support for Linux Is Good for Open Source.md (100%) rename published/{ => 201406}/20140530 Fix 'Cannot Add PPA' Error In Ubuntu 14.04 and Linux Mint.md (100%) rename published/{ => 201406}/20140530 How To Install Linux On A MacBook Pro Retina.md (100%) rename published/{ => 201406}/20140530 Linux script command--A recorder inside your Terminal.md (100%) rename published/{ => 201406}/20140603 App Grid Is A Superior Ubuntu Software Center Alternative.md (100%) rename published/{ => 201406}/20140603 Linux Foundation to donate portion of membership fees to Code.org.md (100%) rename published/{ => 201406}/20140603 Write your first Linux Kernel module.md (100%) rename published/{ => 201406}/20140604 Command line secrets.md (100%) rename published/{ => 201406}/20140604 Setup Virtual Hosts In Apache On Ubuntu 14.04 LTS.md (100%) rename published/{ => 201406}/20140607 Cup 2014 Brazil--Watch FIFA World Cup 2014 Competition in Your Linux Desktop.md (100%) rename published/{ => 201406}/20140607 How To Extract Images From Videos Using ffmpeg.md (100%) rename published/{ => 201406}/20140607 How To Install iCup 2014 In Linux.md (100%) rename published/{ => 201406}/20140607 Linux--Bash Delete All Files In Directory Except Few.md (100%) rename published/{ => 201406}/20140607 New OpenSSL breach is no Heartbleed-but needs to be taken seriously.md (100%) rename published/{ => 201406}/20140607 Nuvola Player 2.4.0 Released -- A Online Cloud Music Player for Linux.md (100%) rename published/{ => 201406}/20140607 Practical Interview Questions and Answers on Linux Shell Scripting.md (100%) rename published/{ => 201406}/20140607 Steam Hits The Big 500 For Linux Games.md (100%) rename published/{ => 201406}/20140607 Ubuntu One Formally Shuts Down.md (100%) rename published/{ => 201406}/20140609 How To Know If Your System Has USB 3.0 Port In Linux [Quick Tip].md (100%) rename published/{ => 201406}/20140609 Open Source LDAP Solutions.md (100%) rename published/{ => 201406}/20140609 OpenELEC 4.0.4 现已发布, 基于 XBMC 13.1 “Gotham”.md (100%) rename published/{ => 201406}/20140610 How to set up Internet connection sharing with iptables on Linux.md (100%) rename published/{ => 201406}/20140610 IPFire 2.13 Core 78 Linux Firewall OS Receives OpenSSL Fixes.md (100%) rename published/{ => 201406}/20140610 Open Source SDN Project OpenDaylight Adds New Members.md (100%) rename published/{ => 201406}/20140610 Top 7 Desktop Environment For Linux.md (100%) rename published/{ => 201406}/20140611 HTG Explains--What' s the Difference Between Linux and BSD.md (100%) rename published/{ => 201406}/20140611 How to Prevent Other Users From Accessing Your Home Directory in Ubuntu 14.04.md (100%) rename published/{ => 201406}/20140612 Command Line Tuesdays--Part One.md (100%) rename published/{ => 201406}/20140612 Dpkg Vulnerabilities Closed in Ubuntu 14.04.md (100%) rename published/{ => 201406}/20140616 How To Install Numix Icon Theme In Fedora 20.md (100%) rename published/{ => 201406}/20140616 Ubuntu Desktop Next 14.10 Images Available to Download.md (100%) rename published/{ => 201406}/20140616 Ubuntu for Phones Activated on 10,000 Devices.md (100%) rename published/{ => 201406}/20140617 14 Apps To Boost Ubuntu.md (100%) rename published/{ => 201406}/20140619 Improve Battery Life with Laptop Mode Tools 1.65.md (100%) rename published/{ => 201406}/20140619 Red Hat to Acquire eNovance, Focus Together on OpenStack.md (100%) rename published/{ => 201406}/20140620 Celebrating 30 Years of X.md (100%) rename published/{ => 201406}/20140620 ENCRYPT DNS TRAFFIC IN LINUX WITH DNSCRYPT (VIA OPENDNS).md (100%) rename published/{ => 201406}/20140620 How to enable testing and unstable repository on Debian.md (100%) rename published/{ => 201406}/20140625 Canonical Debuts 'Orange Box' for Ubuntu OpenStack Cloud Demos.md (100%) rename published/{ => 201406}/8 examples of findmnt command to check mounted file systems on Linux.md (100%) rename published/{ => 201406}/Bash Getopts--Scripts with Command Line Options.md (100%) rename published/{ => 201406}/Collectl--An Advanced All-in-One Performance Monitoring Tool for Linux.md (100%) rename published/{ => 201406}/Fix Adobe Flash Player Issue In Chromium In Ubuntu 14.04.md (100%) rename published/{ => 201406}/Guide To Install Ubuntu 14.04 In Dual Boot Mode With Windows 8 Or 8.1 UEFI.md (100%) rename published/{ => 201406}/How To Install 'California' Calendar App in Ubuntu 14.04.md (100%) rename published/{ => 201406}/How To Remove Drive Icons From Unity Launcher In Ubuntu 14.04 [Beginner Tips].md (100%) rename published/{ => 201406}/How to Install Windows 8.1 and Ubuntu 14.04 LTS on the Same Computer.md (100%) rename published/{ => 201406}/How to download webcomics from the command line on Linux.md (100%) rename published/{ => 201406}/How to launch applications differently with Gnome-Pie on Linux desktop.md (100%) rename published/{ => 201406}/How to manage Linux containers with Docker on Ubuntu.md (100%) rename published/{ => 201406}/How to manage ip addresses and subnets with phpIPAM.md (100%) rename published/{ => 201406}/How to manage passwords from the command line on Linux.md (100%) rename published/{ => 201406}/How to monitor Nginx web server from the command line in real time.md (100%) rename published/{ => 201406}/How to set up a web-based lightweight system monitor on Linux.md (100%) rename published/{ => 201406}/How to take a screenshot from the command line on Linux.md (100%) rename published/{ => 201406}/How to take full length screenshots of websites via terminal.md (100%) rename published/{ => 201406}/How to use LVM in Linux.md (100%) rename published/{ => 201406}/How to verify DDOS attack with netstat command on Linux Terminal.md (100%) rename published/{ => 201406}/Install SoundCloud In Ubuntu 14.04.md (100%) rename published/{ => 201406}/Linux Pros' Top Command Line Secrets.md (100%) rename published/{ => 201406}/Linux Terminal--Dstat monitoring tools.md (100%) rename published/{ => 201406}/Making Linux Feel at Home.md (100%) rename published/{ => 201406}/Open Source's Cult Of Personality Is Dying--Thankfully.md (100%) rename published/{ => 201406}/Pros' Secrets and Red Hat 7 and PCLinuxOS 2014.05 Reviews.md (100%) rename published/{ => 201406}/Start Practising Linux ip command and Avoid the Habit of Using ifconfig.md (100%) rename published/{ => 201406}/TechView--Linus Torvalds Inventor of Linux.md (100%) rename published/{ => 201406}/Turn Off Bluetooth By Default In Ubuntu 14.04 [Quick Tip].md (100%) rename published/{ => 201406}/Ubuntu Linux Community Manager Jono Bacon Leaves Canonical.md (100%) rename published/{ => 201406}/What Heartbleed Teaches Us--Be An Open Source Contributor, Not Just A User.md (100%) rename published/{ => 201406}/Why htop Command Compete Linux top Command.md (100%) diff --git a/published/10 Database Tools For Linux Users To Use!.md b/published/201406/10 Database Tools For Linux Users To Use!.md similarity index 100% rename from published/10 Database Tools For Linux Users To Use!.md rename to published/201406/10 Database Tools For Linux Users To Use!.md diff --git a/published/10 Linux Platforms Meant For Embedded Systems.md b/published/201406/10 Linux Platforms Meant For Embedded Systems.md similarity index 100% rename from published/10 Linux Platforms Meant For Embedded Systems.md rename to published/201406/10 Linux Platforms Meant For Embedded Systems.md diff --git a/published/20140527 4MLinux 9.0 Beta Is a 55 MB Operating System That Has It All.md b/published/201406/20140527 4MLinux 9.0 Beta Is a 55 MB Operating System That Has It All.md similarity index 100% rename from published/20140527 4MLinux 9.0 Beta Is a 55 MB Operating System That Has It All.md rename to published/201406/20140527 4MLinux 9.0 Beta Is a 55 MB Operating System That Has It All.md diff --git a/published/20140527 A Complete Historical Timeline of Linux Evolution.md b/published/201406/20140527 A Complete Historical Timeline of Linux Evolution.md similarity index 100% rename from published/20140527 A Complete Historical Timeline of Linux Evolution.md rename to published/201406/20140527 A Complete Historical Timeline of Linux Evolution.md diff --git a/published/20140528 Setup Backup Server Using Bacula And Webmin On Ubuntu 14.04.md b/published/201406/20140528 Setup Backup Server Using Bacula And Webmin On Ubuntu 14.04.md similarity index 100% rename from published/20140528 Setup Backup Server Using Bacula And Webmin On Ubuntu 14.04.md rename to published/201406/20140528 Setup Backup Server Using Bacula And Webmin On Ubuntu 14.04.md diff --git a/published/20140528 Why We Shouldn't Accept Bad Linux Ports.md b/published/201406/20140528 Why We Shouldn't Accept Bad Linux Ports.md similarity index 100% rename from published/20140528 Why We Shouldn't Accept Bad Linux Ports.md rename to published/201406/20140528 Why We Shouldn't Accept Bad Linux Ports.md diff --git a/published/20140529 Add Windows Like Bottom Taskbar In Ubuntu Unity 14.04.md b/published/201406/20140529 Add Windows Like Bottom Taskbar In Ubuntu Unity 14.04.md similarity index 100% rename from published/20140529 Add Windows Like Bottom Taskbar In Ubuntu Unity 14.04.md rename to published/201406/20140529 Add Windows Like Bottom Taskbar In Ubuntu Unity 14.04.md diff --git a/published/20140529 Command Line Tuesdays--The Introductory.md b/published/201406/20140529 Command Line Tuesdays--The Introductory.md similarity index 100% rename from published/20140529 Command Line Tuesdays--The Introductory.md rename to published/201406/20140529 Command Line Tuesdays--The Introductory.md diff --git a/published/20140529 How To Share Disks In VirtualBox Between Linux Guest OS.md b/published/201406/20140529 How To Share Disks In VirtualBox Between Linux Guest OS.md similarity index 100% rename from published/20140529 How To Share Disks In VirtualBox Between Linux Guest OS.md rename to published/201406/20140529 How To Share Disks In VirtualBox Between Linux Guest OS.md diff --git a/published/20140529 Install RainLoop Webmail (A Web Based Email Client) using 'Nginx and Apache' in Arch Linux.md b/published/201406/20140529 Install RainLoop Webmail (A Web Based Email Client) using 'Nginx and Apache' in Arch Linux.md similarity index 100% rename from published/20140529 Install RainLoop Webmail (A Web Based Email Client) using 'Nginx and Apache' in Arch Linux.md rename to published/201406/20140529 Install RainLoop Webmail (A Web Based Email Client) using 'Nginx and Apache' in Arch Linux.md diff --git a/published/20140529 What is a good terminal emulator on Linux.md b/published/201406/20140529 What is a good terminal emulator on Linux.md similarity index 100% rename from published/20140529 What is a good terminal emulator on Linux.md rename to published/201406/20140529 What is a good terminal emulator on Linux.md diff --git a/published/20140529 Why No Flash Support for Linux Is Good for Open Source.md b/published/201406/20140529 Why No Flash Support for Linux Is Good for Open Source.md similarity index 100% rename from published/20140529 Why No Flash Support for Linux Is Good for Open Source.md rename to published/201406/20140529 Why No Flash Support for Linux Is Good for Open Source.md diff --git a/published/20140530 Fix 'Cannot Add PPA' Error In Ubuntu 14.04 and Linux Mint.md b/published/201406/20140530 Fix 'Cannot Add PPA' Error In Ubuntu 14.04 and Linux Mint.md similarity index 100% rename from published/20140530 Fix 'Cannot Add PPA' Error In Ubuntu 14.04 and Linux Mint.md rename to published/201406/20140530 Fix 'Cannot Add PPA' Error In Ubuntu 14.04 and Linux Mint.md diff --git a/published/20140530 How To Install Linux On A MacBook Pro Retina.md b/published/201406/20140530 How To Install Linux On A MacBook Pro Retina.md similarity index 100% rename from published/20140530 How To Install Linux On A MacBook Pro Retina.md rename to published/201406/20140530 How To Install Linux On A MacBook Pro Retina.md diff --git a/published/20140530 Linux script command--A recorder inside your Terminal.md b/published/201406/20140530 Linux script command--A recorder inside your Terminal.md similarity index 100% rename from published/20140530 Linux script command--A recorder inside your Terminal.md rename to published/201406/20140530 Linux script command--A recorder inside your Terminal.md diff --git a/published/20140603 App Grid Is A Superior Ubuntu Software Center Alternative.md b/published/201406/20140603 App Grid Is A Superior Ubuntu Software Center Alternative.md similarity index 100% rename from published/20140603 App Grid Is A Superior Ubuntu Software Center Alternative.md rename to published/201406/20140603 App Grid Is A Superior Ubuntu Software Center Alternative.md diff --git a/published/20140603 Linux Foundation to donate portion of membership fees to Code.org.md b/published/201406/20140603 Linux Foundation to donate portion of membership fees to Code.org.md similarity index 100% rename from published/20140603 Linux Foundation to donate portion of membership fees to Code.org.md rename to published/201406/20140603 Linux Foundation to donate portion of membership fees to Code.org.md diff --git a/published/20140603 Write your first Linux Kernel module.md b/published/201406/20140603 Write your first Linux Kernel module.md similarity index 100% rename from published/20140603 Write your first Linux Kernel module.md rename to published/201406/20140603 Write your first Linux Kernel module.md diff --git a/published/20140604 Command line secrets.md b/published/201406/20140604 Command line secrets.md similarity index 100% rename from published/20140604 Command line secrets.md rename to published/201406/20140604 Command line secrets.md diff --git a/published/20140604 Setup Virtual Hosts In Apache On Ubuntu 14.04 LTS.md b/published/201406/20140604 Setup Virtual Hosts In Apache On Ubuntu 14.04 LTS.md similarity index 100% rename from published/20140604 Setup Virtual Hosts In Apache On Ubuntu 14.04 LTS.md rename to published/201406/20140604 Setup Virtual Hosts In Apache On Ubuntu 14.04 LTS.md diff --git a/published/20140607 Cup 2014 Brazil--Watch FIFA World Cup 2014 Competition in Your Linux Desktop.md b/published/201406/20140607 Cup 2014 Brazil--Watch FIFA World Cup 2014 Competition in Your Linux Desktop.md similarity index 100% rename from published/20140607 Cup 2014 Brazil--Watch FIFA World Cup 2014 Competition in Your Linux Desktop.md rename to published/201406/20140607 Cup 2014 Brazil--Watch FIFA World Cup 2014 Competition in Your Linux Desktop.md diff --git a/published/20140607 How To Extract Images From Videos Using ffmpeg.md b/published/201406/20140607 How To Extract Images From Videos Using ffmpeg.md similarity index 100% rename from published/20140607 How To Extract Images From Videos Using ffmpeg.md rename to published/201406/20140607 How To Extract Images From Videos Using ffmpeg.md diff --git a/published/20140607 How To Install iCup 2014 In Linux.md b/published/201406/20140607 How To Install iCup 2014 In Linux.md similarity index 100% rename from published/20140607 How To Install iCup 2014 In Linux.md rename to published/201406/20140607 How To Install iCup 2014 In Linux.md diff --git a/published/20140607 Linux--Bash Delete All Files In Directory Except Few.md b/published/201406/20140607 Linux--Bash Delete All Files In Directory Except Few.md similarity index 100% rename from published/20140607 Linux--Bash Delete All Files In Directory Except Few.md rename to published/201406/20140607 Linux--Bash Delete All Files In Directory Except Few.md diff --git a/published/20140607 New OpenSSL breach is no Heartbleed-but needs to be taken seriously.md b/published/201406/20140607 New OpenSSL breach is no Heartbleed-but needs to be taken seriously.md similarity index 100% rename from published/20140607 New OpenSSL breach is no Heartbleed-but needs to be taken seriously.md rename to published/201406/20140607 New OpenSSL breach is no Heartbleed-but needs to be taken seriously.md diff --git a/published/20140607 Nuvola Player 2.4.0 Released -- A Online Cloud Music Player for Linux.md b/published/201406/20140607 Nuvola Player 2.4.0 Released -- A Online Cloud Music Player for Linux.md similarity index 100% rename from published/20140607 Nuvola Player 2.4.0 Released -- A Online Cloud Music Player for Linux.md rename to published/201406/20140607 Nuvola Player 2.4.0 Released -- A Online Cloud Music Player for Linux.md diff --git a/published/20140607 Practical Interview Questions and Answers on Linux Shell Scripting.md b/published/201406/20140607 Practical Interview Questions and Answers on Linux Shell Scripting.md similarity index 100% rename from published/20140607 Practical Interview Questions and Answers on Linux Shell Scripting.md rename to published/201406/20140607 Practical Interview Questions and Answers on Linux Shell Scripting.md diff --git a/published/20140607 Steam Hits The Big 500 For Linux Games.md b/published/201406/20140607 Steam Hits The Big 500 For Linux Games.md similarity index 100% rename from published/20140607 Steam Hits The Big 500 For Linux Games.md rename to published/201406/20140607 Steam Hits The Big 500 For Linux Games.md diff --git a/published/20140607 Ubuntu One Formally Shuts Down.md b/published/201406/20140607 Ubuntu One Formally Shuts Down.md similarity index 100% rename from published/20140607 Ubuntu One Formally Shuts Down.md rename to published/201406/20140607 Ubuntu One Formally Shuts Down.md diff --git a/published/20140609 How To Know If Your System Has USB 3.0 Port In Linux [Quick Tip].md b/published/201406/20140609 How To Know If Your System Has USB 3.0 Port In Linux [Quick Tip].md similarity index 100% rename from published/20140609 How To Know If Your System Has USB 3.0 Port In Linux [Quick Tip].md rename to published/201406/20140609 How To Know If Your System Has USB 3.0 Port In Linux [Quick Tip].md diff --git a/published/20140609 Open Source LDAP Solutions.md b/published/201406/20140609 Open Source LDAP Solutions.md similarity index 100% rename from published/20140609 Open Source LDAP Solutions.md rename to published/201406/20140609 Open Source LDAP Solutions.md diff --git a/published/20140609 OpenELEC 4.0.4 现已发布, 基于 XBMC 13.1 “Gotham”.md b/published/201406/20140609 OpenELEC 4.0.4 现已发布, 基于 XBMC 13.1 “Gotham”.md similarity index 100% rename from published/20140609 OpenELEC 4.0.4 现已发布, 基于 XBMC 13.1 “Gotham”.md rename to published/201406/20140609 OpenELEC 4.0.4 现已发布, 基于 XBMC 13.1 “Gotham”.md diff --git a/published/20140610 How to set up Internet connection sharing with iptables on Linux.md b/published/201406/20140610 How to set up Internet connection sharing with iptables on Linux.md similarity index 100% rename from published/20140610 How to set up Internet connection sharing with iptables on Linux.md rename to published/201406/20140610 How to set up Internet connection sharing with iptables on Linux.md diff --git a/published/20140610 IPFire 2.13 Core 78 Linux Firewall OS Receives OpenSSL Fixes.md b/published/201406/20140610 IPFire 2.13 Core 78 Linux Firewall OS Receives OpenSSL Fixes.md similarity index 100% rename from published/20140610 IPFire 2.13 Core 78 Linux Firewall OS Receives OpenSSL Fixes.md rename to published/201406/20140610 IPFire 2.13 Core 78 Linux Firewall OS Receives OpenSSL Fixes.md diff --git a/published/20140610 Open Source SDN Project OpenDaylight Adds New Members.md b/published/201406/20140610 Open Source SDN Project OpenDaylight Adds New Members.md similarity index 100% rename from published/20140610 Open Source SDN Project OpenDaylight Adds New Members.md rename to published/201406/20140610 Open Source SDN Project OpenDaylight Adds New Members.md diff --git a/published/20140610 Top 7 Desktop Environment For Linux.md b/published/201406/20140610 Top 7 Desktop Environment For Linux.md similarity index 100% rename from published/20140610 Top 7 Desktop Environment For Linux.md rename to published/201406/20140610 Top 7 Desktop Environment For Linux.md diff --git a/published/20140611 HTG Explains--What' s the Difference Between Linux and BSD.md b/published/201406/20140611 HTG Explains--What' s the Difference Between Linux and BSD.md similarity index 100% rename from published/20140611 HTG Explains--What' s the Difference Between Linux and BSD.md rename to published/201406/20140611 HTG Explains--What' s the Difference Between Linux and BSD.md diff --git a/published/20140611 How to Prevent Other Users From Accessing Your Home Directory in Ubuntu 14.04.md b/published/201406/20140611 How to Prevent Other Users From Accessing Your Home Directory in Ubuntu 14.04.md similarity index 100% rename from published/20140611 How to Prevent Other Users From Accessing Your Home Directory in Ubuntu 14.04.md rename to published/201406/20140611 How to Prevent Other Users From Accessing Your Home Directory in Ubuntu 14.04.md diff --git a/published/20140612 Command Line Tuesdays--Part One.md b/published/201406/20140612 Command Line Tuesdays--Part One.md similarity index 100% rename from published/20140612 Command Line Tuesdays--Part One.md rename to published/201406/20140612 Command Line Tuesdays--Part One.md diff --git a/published/20140612 Dpkg Vulnerabilities Closed in Ubuntu 14.04.md b/published/201406/20140612 Dpkg Vulnerabilities Closed in Ubuntu 14.04.md similarity index 100% rename from published/20140612 Dpkg Vulnerabilities Closed in Ubuntu 14.04.md rename to published/201406/20140612 Dpkg Vulnerabilities Closed in Ubuntu 14.04.md diff --git a/published/20140616 How To Install Numix Icon Theme In Fedora 20.md b/published/201406/20140616 How To Install Numix Icon Theme In Fedora 20.md similarity index 100% rename from published/20140616 How To Install Numix Icon Theme In Fedora 20.md rename to published/201406/20140616 How To Install Numix Icon Theme In Fedora 20.md diff --git a/published/20140616 Ubuntu Desktop Next 14.10 Images Available to Download.md b/published/201406/20140616 Ubuntu Desktop Next 14.10 Images Available to Download.md similarity index 100% rename from published/20140616 Ubuntu Desktop Next 14.10 Images Available to Download.md rename to published/201406/20140616 Ubuntu Desktop Next 14.10 Images Available to Download.md diff --git a/published/20140616 Ubuntu for Phones Activated on 10,000 Devices.md b/published/201406/20140616 Ubuntu for Phones Activated on 10,000 Devices.md similarity index 100% rename from published/20140616 Ubuntu for Phones Activated on 10,000 Devices.md rename to published/201406/20140616 Ubuntu for Phones Activated on 10,000 Devices.md diff --git a/published/20140617 14 Apps To Boost Ubuntu.md b/published/201406/20140617 14 Apps To Boost Ubuntu.md similarity index 100% rename from published/20140617 14 Apps To Boost Ubuntu.md rename to published/201406/20140617 14 Apps To Boost Ubuntu.md diff --git a/published/20140619 Improve Battery Life with Laptop Mode Tools 1.65.md b/published/201406/20140619 Improve Battery Life with Laptop Mode Tools 1.65.md similarity index 100% rename from published/20140619 Improve Battery Life with Laptop Mode Tools 1.65.md rename to published/201406/20140619 Improve Battery Life with Laptop Mode Tools 1.65.md diff --git a/published/20140619 Red Hat to Acquire eNovance, Focus Together on OpenStack.md b/published/201406/20140619 Red Hat to Acquire eNovance, Focus Together on OpenStack.md similarity index 100% rename from published/20140619 Red Hat to Acquire eNovance, Focus Together on OpenStack.md rename to published/201406/20140619 Red Hat to Acquire eNovance, Focus Together on OpenStack.md diff --git a/published/20140620 Celebrating 30 Years of X.md b/published/201406/20140620 Celebrating 30 Years of X.md similarity index 100% rename from published/20140620 Celebrating 30 Years of X.md rename to published/201406/20140620 Celebrating 30 Years of X.md diff --git a/published/20140620 ENCRYPT DNS TRAFFIC IN LINUX WITH DNSCRYPT (VIA OPENDNS).md b/published/201406/20140620 ENCRYPT DNS TRAFFIC IN LINUX WITH DNSCRYPT (VIA OPENDNS).md similarity index 100% rename from published/20140620 ENCRYPT DNS TRAFFIC IN LINUX WITH DNSCRYPT (VIA OPENDNS).md rename to published/201406/20140620 ENCRYPT DNS TRAFFIC IN LINUX WITH DNSCRYPT (VIA OPENDNS).md diff --git a/published/20140620 How to enable testing and unstable repository on Debian.md b/published/201406/20140620 How to enable testing and unstable repository on Debian.md similarity index 100% rename from published/20140620 How to enable testing and unstable repository on Debian.md rename to published/201406/20140620 How to enable testing and unstable repository on Debian.md diff --git a/published/20140625 Canonical Debuts 'Orange Box' for Ubuntu OpenStack Cloud Demos.md b/published/201406/20140625 Canonical Debuts 'Orange Box' for Ubuntu OpenStack Cloud Demos.md similarity index 100% rename from published/20140625 Canonical Debuts 'Orange Box' for Ubuntu OpenStack Cloud Demos.md rename to published/201406/20140625 Canonical Debuts 'Orange Box' for Ubuntu OpenStack Cloud Demos.md diff --git a/published/8 examples of findmnt command to check mounted file systems on Linux.md b/published/201406/8 examples of findmnt command to check mounted file systems on Linux.md similarity index 100% rename from published/8 examples of findmnt command to check mounted file systems on Linux.md rename to published/201406/8 examples of findmnt command to check mounted file systems on Linux.md diff --git a/published/Bash Getopts--Scripts with Command Line Options.md b/published/201406/Bash Getopts--Scripts with Command Line Options.md similarity index 100% rename from published/Bash Getopts--Scripts with Command Line Options.md rename to published/201406/Bash Getopts--Scripts with Command Line Options.md diff --git a/published/Collectl--An Advanced All-in-One Performance Monitoring Tool for Linux.md b/published/201406/Collectl--An Advanced All-in-One Performance Monitoring Tool for Linux.md similarity index 100% rename from published/Collectl--An Advanced All-in-One Performance Monitoring Tool for Linux.md rename to published/201406/Collectl--An Advanced All-in-One Performance Monitoring Tool for Linux.md diff --git a/published/Fix Adobe Flash Player Issue In Chromium In Ubuntu 14.04.md b/published/201406/Fix Adobe Flash Player Issue In Chromium In Ubuntu 14.04.md similarity index 100% rename from published/Fix Adobe Flash Player Issue In Chromium In Ubuntu 14.04.md rename to published/201406/Fix Adobe Flash Player Issue In Chromium In Ubuntu 14.04.md diff --git a/published/Guide To Install Ubuntu 14.04 In Dual Boot Mode With Windows 8 Or 8.1 UEFI.md b/published/201406/Guide To Install Ubuntu 14.04 In Dual Boot Mode With Windows 8 Or 8.1 UEFI.md similarity index 100% rename from published/Guide To Install Ubuntu 14.04 In Dual Boot Mode With Windows 8 Or 8.1 UEFI.md rename to published/201406/Guide To Install Ubuntu 14.04 In Dual Boot Mode With Windows 8 Or 8.1 UEFI.md diff --git a/published/How To Install 'California' Calendar App in Ubuntu 14.04.md b/published/201406/How To Install 'California' Calendar App in Ubuntu 14.04.md similarity index 100% rename from published/How To Install 'California' Calendar App in Ubuntu 14.04.md rename to published/201406/How To Install 'California' Calendar App in Ubuntu 14.04.md diff --git a/published/How To Remove Drive Icons From Unity Launcher In Ubuntu 14.04 [Beginner Tips].md b/published/201406/How To Remove Drive Icons From Unity Launcher In Ubuntu 14.04 [Beginner Tips].md similarity index 100% rename from published/How To Remove Drive Icons From Unity Launcher In Ubuntu 14.04 [Beginner Tips].md rename to published/201406/How To Remove Drive Icons From Unity Launcher In Ubuntu 14.04 [Beginner Tips].md diff --git a/published/How to Install Windows 8.1 and Ubuntu 14.04 LTS on the Same Computer.md b/published/201406/How to Install Windows 8.1 and Ubuntu 14.04 LTS on the Same Computer.md similarity index 100% rename from published/How to Install Windows 8.1 and Ubuntu 14.04 LTS on the Same Computer.md rename to published/201406/How to Install Windows 8.1 and Ubuntu 14.04 LTS on the Same Computer.md diff --git a/published/How to download webcomics from the command line on Linux.md b/published/201406/How to download webcomics from the command line on Linux.md similarity index 100% rename from published/How to download webcomics from the command line on Linux.md rename to published/201406/How to download webcomics from the command line on Linux.md diff --git a/published/How to launch applications differently with Gnome-Pie on Linux desktop.md b/published/201406/How to launch applications differently with Gnome-Pie on Linux desktop.md similarity index 100% rename from published/How to launch applications differently with Gnome-Pie on Linux desktop.md rename to published/201406/How to launch applications differently with Gnome-Pie on Linux desktop.md diff --git a/published/How to manage Linux containers with Docker on Ubuntu.md b/published/201406/How to manage Linux containers with Docker on Ubuntu.md similarity index 100% rename from published/How to manage Linux containers with Docker on Ubuntu.md rename to published/201406/How to manage Linux containers with Docker on Ubuntu.md diff --git a/published/How to manage ip addresses and subnets with phpIPAM.md b/published/201406/How to manage ip addresses and subnets with phpIPAM.md similarity index 100% rename from published/How to manage ip addresses and subnets with phpIPAM.md rename to published/201406/How to manage ip addresses and subnets with phpIPAM.md diff --git a/published/How to manage passwords from the command line on Linux.md b/published/201406/How to manage passwords from the command line on Linux.md similarity index 100% rename from published/How to manage passwords from the command line on Linux.md rename to published/201406/How to manage passwords from the command line on Linux.md diff --git a/published/How to monitor Nginx web server from the command line in real time.md b/published/201406/How to monitor Nginx web server from the command line in real time.md similarity index 100% rename from published/How to monitor Nginx web server from the command line in real time.md rename to published/201406/How to monitor Nginx web server from the command line in real time.md diff --git a/published/How to set up a web-based lightweight system monitor on Linux.md b/published/201406/How to set up a web-based lightweight system monitor on Linux.md similarity index 100% rename from published/How to set up a web-based lightweight system monitor on Linux.md rename to published/201406/How to set up a web-based lightweight system monitor on Linux.md diff --git a/published/How to take a screenshot from the command line on Linux.md b/published/201406/How to take a screenshot from the command line on Linux.md similarity index 100% rename from published/How to take a screenshot from the command line on Linux.md rename to published/201406/How to take a screenshot from the command line on Linux.md diff --git a/published/How to take full length screenshots of websites via terminal.md b/published/201406/How to take full length screenshots of websites via terminal.md similarity index 100% rename from published/How to take full length screenshots of websites via terminal.md rename to published/201406/How to take full length screenshots of websites via terminal.md diff --git a/published/How to use LVM in Linux.md b/published/201406/How to use LVM in Linux.md similarity index 100% rename from published/How to use LVM in Linux.md rename to published/201406/How to use LVM in Linux.md diff --git a/published/How to verify DDOS attack with netstat command on Linux Terminal.md b/published/201406/How to verify DDOS attack with netstat command on Linux Terminal.md similarity index 100% rename from published/How to verify DDOS attack with netstat command on Linux Terminal.md rename to published/201406/How to verify DDOS attack with netstat command on Linux Terminal.md diff --git a/published/Install SoundCloud In Ubuntu 14.04.md b/published/201406/Install SoundCloud In Ubuntu 14.04.md similarity index 100% rename from published/Install SoundCloud In Ubuntu 14.04.md rename to published/201406/Install SoundCloud In Ubuntu 14.04.md diff --git a/published/Linux Pros' Top Command Line Secrets.md b/published/201406/Linux Pros' Top Command Line Secrets.md similarity index 100% rename from published/Linux Pros' Top Command Line Secrets.md rename to published/201406/Linux Pros' Top Command Line Secrets.md diff --git a/published/Linux Terminal--Dstat monitoring tools.md b/published/201406/Linux Terminal--Dstat monitoring tools.md similarity index 100% rename from published/Linux Terminal--Dstat monitoring tools.md rename to published/201406/Linux Terminal--Dstat monitoring tools.md diff --git a/published/Making Linux Feel at Home.md b/published/201406/Making Linux Feel at Home.md similarity index 100% rename from published/Making Linux Feel at Home.md rename to published/201406/Making Linux Feel at Home.md diff --git a/published/Open Source's Cult Of Personality Is Dying--Thankfully.md b/published/201406/Open Source's Cult Of Personality Is Dying--Thankfully.md similarity index 100% rename from published/Open Source's Cult Of Personality Is Dying--Thankfully.md rename to published/201406/Open Source's Cult Of Personality Is Dying--Thankfully.md diff --git a/published/Pros' Secrets and Red Hat 7 and PCLinuxOS 2014.05 Reviews.md b/published/201406/Pros' Secrets and Red Hat 7 and PCLinuxOS 2014.05 Reviews.md similarity index 100% rename from published/Pros' Secrets and Red Hat 7 and PCLinuxOS 2014.05 Reviews.md rename to published/201406/Pros' Secrets and Red Hat 7 and PCLinuxOS 2014.05 Reviews.md diff --git a/published/Start Practising Linux ip command and Avoid the Habit of Using ifconfig.md b/published/201406/Start Practising Linux ip command and Avoid the Habit of Using ifconfig.md similarity index 100% rename from published/Start Practising Linux ip command and Avoid the Habit of Using ifconfig.md rename to published/201406/Start Practising Linux ip command and Avoid the Habit of Using ifconfig.md diff --git a/published/TechView--Linus Torvalds Inventor of Linux.md b/published/201406/TechView--Linus Torvalds Inventor of Linux.md similarity index 100% rename from published/TechView--Linus Torvalds Inventor of Linux.md rename to published/201406/TechView--Linus Torvalds Inventor of Linux.md diff --git a/published/Turn Off Bluetooth By Default In Ubuntu 14.04 [Quick Tip].md b/published/201406/Turn Off Bluetooth By Default In Ubuntu 14.04 [Quick Tip].md similarity index 100% rename from published/Turn Off Bluetooth By Default In Ubuntu 14.04 [Quick Tip].md rename to published/201406/Turn Off Bluetooth By Default In Ubuntu 14.04 [Quick Tip].md diff --git a/published/Ubuntu Linux Community Manager Jono Bacon Leaves Canonical.md b/published/201406/Ubuntu Linux Community Manager Jono Bacon Leaves Canonical.md similarity index 100% rename from published/Ubuntu Linux Community Manager Jono Bacon Leaves Canonical.md rename to published/201406/Ubuntu Linux Community Manager Jono Bacon Leaves Canonical.md diff --git a/published/What Heartbleed Teaches Us--Be An Open Source Contributor, Not Just A User.md b/published/201406/What Heartbleed Teaches Us--Be An Open Source Contributor, Not Just A User.md similarity index 100% rename from published/What Heartbleed Teaches Us--Be An Open Source Contributor, Not Just A User.md rename to published/201406/What Heartbleed Teaches Us--Be An Open Source Contributor, Not Just A User.md diff --git a/published/Why htop Command Compete Linux top Command.md b/published/201406/Why htop Command Compete Linux top Command.md similarity index 100% rename from published/Why htop Command Compete Linux top Command.md rename to published/201406/Why htop Command Compete Linux top Command.md From d93b32a9e4bf1a6cf957d474eb91692733db16b8 Mon Sep 17 00:00:00 2001 From: CNprober Date: Tue, 1 Jul 2014 08:40:44 +0800 Subject: [PATCH 25/56] =?UTF-8?q?=E7=BF=BB=E8=AF=91=E5=AE=8C=E6=88=90By=20?= =?UTF-8?q?CNprober,=20Tips=20to=20Push=20Your=20Git=20Skills=20..=20Next?= =?UTF-8?q?=20Level?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... Push Your Git Skills to the Next Level.md | 190 ------------------ ... Push Your Git Skills to the Next Level.md | 190 ++++++++++++++++++ 2 files changed, 190 insertions(+), 190 deletions(-) delete mode 100644 sources/tech/20140620 Tips to Push Your Git Skills to the Next Level.md create mode 100644 translated/tech/20140620 Tips to Push Your Git Skills to the Next Level.md diff --git a/sources/tech/20140620 Tips to Push Your Git Skills to the Next Level.md b/sources/tech/20140620 Tips to Push Your Git Skills to the Next Level.md deleted file mode 100644 index 41b7324b6f..0000000000 --- a/sources/tech/20140620 Tips to Push Your Git Skills to the Next Level.md +++ /dev/null @@ -1,190 +0,0 @@ -CNprober 翻译中... 619913541 - -10 Tips to Push Your Git Skills to the Next Level -================================================================================ -Recently we published a couple of tutorials to get you familiar with [Git basics][1] and [using Git in a team environment][2]. The commands that we discussed were about enough to help a developer survive in the Git world. In this post, we will try to explore how to manage your time effectively and make full use of the features that Git provides. - -> Note: Some commands in this article include part of the command in square brackets (e.g. `git add -p [file_name]`). In those examples, you would insert the necessary number, identifier, etc. without the square brackets. - -### 1. Git Auto Completion ### - -If you run Git commands through the command line, it’s a tiresome task to type in the commands manually every single time. To help with this, you can enable auto completion of Git commands within a few minutes. - -To get the script, run the following in a Unix system: - - cd ~ - curl https://raw.github.com/git/git/master/contrib/completion/git-completion.bash -o ~/.git-completion.bash - -Next, add the following lines to your ~/.bash_profile file: - - if [ -f ~/.git-completion.bash ]; then - . ~/.git-completion.bash - fi - -Although I have mentioned this earlier, I can not stress it enough: If you want to use the features of Git fully, you should definitely shift to the command line interface! - -### 2. Ignoring Files in Git ### - -Are you tired of compiled files (like `.pyc`) appearing in your Git repository? Or are you so fed up that you have added them to Git? Look no further, there is a way through which you can tell Git to ignore certain files and directories altogether. Simply create a file with the name `.gitignore` and list the files and directories that you don’t want Git to track. You can make exceptions using the exclamation mark(!). - - *.pyc - *.exe - my_db_config/ - - !main.pyc - -### 3. Who Messed With My Code? ### - -It’s the natural instinct of human beings to blame others when something goes wrong. If your production server is broke, it’s very easy to find out the culprit — just do a `git blame`. This command shows you the author of every line in a file, the commit that saw the last change in that line, and the timestamp of the commit. - - git blame [file_name] - -![git blame demonstration](http://dab1nmslvvntp.cloudfront.net/wp-content/uploads/2014/06/1402946443git-ninja-01.png) - -And in the screenshot below, you can see how this command would look on a bigger repository: - -![git blame on the ATutor repository](http://dab1nmslvvntp.cloudfront.net/wp-content/uploads/2014/06/1402946441git-ninja-02.png) - -### 4. Review History of the Repository ### - -We had a look at the use of `git log` in a previous tutorial, however, there are three options that you should know about. - - -- **--oneline** – Compresses the information shown beside each commit to a reduced commit hash and the commit message, all shown in a single line. -- **--graph** – This option draws a text-based graphical representation of the history on the left hand side of the output. It’s of no use if you are viewing the history for a single branch. -- **--all** – Shows the history of all branches. - -Here’s what a combination of the options looks like: - -![Use of git log with all, graph and oneline](http://dab1nmslvvntp.cloudfront.net/wp-content/uploads/2014/06/1402946444git-ninja-03.png) - -### 5. Never Lose Track of a Commit ### - -Let’s say you committed something you didn’t want to and ended up doing a hard reset to come back to your previous state. Later, you realize you lost some other information in the process and want to get it back, or at least view it. This is where `git reflog` can help. - -A simple `git log` shows you the latest commit, its parent, its parent’s parent, and so on. However, `git reflog` is a list of commits that the head was pointed to. Remember that it’s local to your system; it’s not a part of your repository and not included in pushes or merges. - -If I run `git log`, I get the commits that are a part of my repository: - -![Project history](http://dab1nmslvvntp.cloudfront.net/wp-content/uploads/2014/06/1402946446git-ninja-04.png) - -However, a `git reflog` shows a commit (`b1b0ee9` – `HEAD@{4}`) that was lost when I did a hard reset: - -![Git reflog](http://dab1nmslvvntp.cloudfront.net/wp-content/uploads/2014/06/1402946447git-ninja-05.png) - -### 6. Staging Parts of a Changed File for a Commit ### - -It is generally a good practice to make feature-based commits, that is, each commit must represent a feature or a bug fix. Consider what would happen if you fixed two bugs, or added multiple features without committing the changes. In such a situation situation, you could put the changes in a single commit. But there is a better way: Stage the files individually and commit them separately. - -Let’s say you’ve made multiple changes to a single file and want them to appear in separate commits. In that case, we add files by prefixing `-p` to our add commands. - - git add -p [file_name] - -Let’s try to demonstrate the same. I have added three new lines to `file_name` and I want only the first and third lines to appear in my commit. Let’s see what a `git diff` shows us. - -![Changes in repo](http://dab1nmslvvntp.cloudfront.net/wp-content/uploads/2014/06/1402946449git-ninja-06.png) - -And let’s see what happes when we prefix a `-p` to our `add` command. - -![Running add with -p](http://dab1nmslvvntp.cloudfront.net/wp-content/uploads/2014/06/1402946450git-ninja-07.png) - -It seems that Git assumed that all the changes were a part of the same idea, thereby grouping it into a single hunk. You have the following options: - -- Enter y to stage that hunk -- Enter n to not stage that hunk -- Enter e to manually edit the hunk -- Enter d to exit or go to the next file. -- Enter s to split the hunk. - -In our case, we definitely want to split it into smaller parts to selectively add some and ignore the rest. - -![Adding all hunks](http://dab1nmslvvntp.cloudfront.net/wp-content/uploads/2014/06/1402946452git-ninja-08.png) - -As you can see, we have added the first and third lines and ignored the second. You can then view the status of the repository and make a commit. - -![Repository after selectively adding a file](http://dab1nmslvvntp.cloudfront.net/wp-content/uploads/2014/06/1402946454git-ninja-09.png) - -### 7. Squash Multiple Commits ### - -When you submit your code for review and create a pull request (which happens often in open source projects), you might be asked to make a change to your code before it’s accepted. You make the change, only to be asked to change it yet again in the next review. Before you know it, you have a few extra commits. Ideally, you could squash them into one using the rebase command. - - git rebase -i HEAD~[number_of_commits] - -If you want to squash the last two commits, the command that you run is the following. - - git rebase -i HEAD~2 - -On running this command, you are taken to an interactive interface listing the commits and asking you which ones to squash. Ideally, you `pick` the latest commit and `squash` the old ones. - -![Git squash interactive](http://dab1nmslvvntp.cloudfront.net/wp-content/uploads/2014/06/1402946455git-ninja-10.png) - -You are then asked to provide a commit message to the new commit. This process essentially re-writes your commit history. - -![Adding a commit message](http://dab1nmslvvntp.cloudfront.net/wp-content/uploads/2014/06/1402946457git-ninja-11.png) - -### 8. Stash Uncommitted Changes ### - -Let’s say you are working on a certain bug or a feature, and you are suddenly asked to demonstrate your work. Your current work is not complete enough to be committed, and you can’t give a demonstration at this stage (without reverting the changes). In such a situation, `git stash` comes to the rescue. Stash essentially takes all your changes and stores them for further use. To stash your changes, you simply run the following- - - git stash - -To check the list of stashes, you can run the following: - - git stash list - -![Stash list](http://dab1nmslvvntp.cloudfront.net/wp-content/uploads/2014/06/1402946458git-ninja-12.png) - -If you want to un-stash and recover the uncommitted changes, you apply the stash: - - git stash apply - -In the last screenshot, you can see that each stash has an indentifier, a unique number (although we have only one stash in this case). In case you want to apply only selective stashes, you add the specific identifier to the apply command: - - git stash apply stash@{2} - -![After un-stashing changes](http://dab1nmslvvntp.cloudfront.net/wp-content/uploads/2014/06/1402946461git-ninja-13.png) - -### 9. Check for Lost Commits ### - -Although `reflog` is one way of checking for lost commits, it’s not feasible in large repositories. That is when the `fsck` (file system check) command comes into play. - - git fsck --lost-found - -![Git fsck results](http://dab1nmslvvntp.cloudfront.net/wp-content/uploads/2014/06/1402946463git-ninja-14.png) - -Here you can see a lost commit. You can check the changes in the commit by running git show [commit_hash] or recover it by running `git merge [commit_hash]`. - -`git fsck` has an advantage over `reflog`. Let’s say you deleted a remote branch and then cloned the repository. With `fsck` you can search for and recover the deleted remote branch. - -### 10. Cherry Pick ### - -I have saved the most elegant Git command for the last. The `cherry-pick` command is by far my favorite Git command, because of its literal meaning as well as its utility! - -In the simplest of terms, `cherry-pick` is picking a single commit from a different branch and merging it with your current one. If you are working in a parallel fashion on two or more branches, you might notice a bug that is present in all branches. If you solve it in one, you can cherry pick the commit into the other branches, without messing with other files or commits. - -Let’s consider a scenario where we can apply this. I have two branches and I want to cherry-pick the commit `b20fd14: Cleaned junk` into another one. - -![Before cherry pick](http://dab1nmslvvntp.cloudfront.net/wp-content/uploads/2014/06/1402946465git-ninja-15.png) - -I switch to the branch into which I want to cherry-pick the commit, and run the following: - - git cherry-pick [commit_hash] - -![After cherry pick](http://dab1nmslvvntp.cloudfront.net/wp-content/uploads/2014/06/1402946467git-ninja-16.png) - -Although we had a clean `cherry-pick` this time, you should know that this command can often lead to conflicts, so use it with care. - -### Conclusion ### - -With this, we come to the end of our list of tips that I think can help you take your Git skills to a new level. Git is the best out there and it can accomplish anything you can imagine. Therefore, always try to challenge yourself with Git. Chances are, you will end up learning something new! - --------------------------------------------------------------------------------- - -via: http://www.sitepoint.com/10-tips-git-next-level/ - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://www.sitepoint.com/git-for-beginners/ -[2]:http://www.sitepoint.com/getting-started-git-team-environment/ diff --git a/translated/tech/20140620 Tips to Push Your Git Skills to the Next Level.md b/translated/tech/20140620 Tips to Push Your Git Skills to the Next Level.md new file mode 100644 index 0000000000..2c50740802 --- /dev/null +++ b/translated/tech/20140620 Tips to Push Your Git Skills to the Next Level.md @@ -0,0 +1,190 @@ +CNprober 翻译完成... 619913541 + +10招让你的Git技能提升一个台阶 +================================================================================ + +之前我们发了一些教程让你熟悉[Git基础][1]和[在团队合作环境中使用Git][2].我们讨论的这些Git命令足够让一个开发者在Git的世界里生存下去。在这篇教程里,我们试着探索如何高效地管理你的时间以及如何充分利用Git提供的特性。 + +> 注意:这里介绍的命令中有的包含方括号(例如:`git add -p [file_name]`)。在这些例子中,你应该用你自己的数字,标识符等替代方括号里的内容,并且去掉方括号。 + +### 1. Git自动补全 ### + +如果你在命令行环境中运行Git命令,每次都手动地逐个输入命令是一件很无聊的事。为此,你可以花几分钟时间配置一下Git命令的自动补全功能。 + +在*nix系统运行下列命令下载自动补全脚本: + + cd ~ + curl https://raw.github.com/git/git/master/contrib/completion/git-completion.bash -o ~/.git-completion.bash + +然后,添加下面的行到你的~/.bash_profile文件: + + if [ -f ~/.git-completion.bash ]; then + . ~/.git-completion.bash + fi + +尽管我之前已经提到过,但我还是想再强调一下:如果你想使用完整的Git特性,你绝bi应该切换到命令行环境。 + +### 2. 在Git中忽略文件 ### + +你是不是对出现在你Git库里面的编译生成文件(比如`.pyc`)感到很无语?或者你是不是很厌恶不小心将他们添加到了Git?直接看这里,这里有一个方法可以让你告诉Git忽略所有这些文件和目录。只需要创建一个名字为`.gitignore`的文件,里面列出你不想要Git跟踪的文件和目录。可以用感叹号(!)列出例外情况。 + + *.pyc + *.exe + my_db_config/ + + !main.pyc + +### 3. 谁动了我的代码? ### + +当事情出了乱子时立马责怪别人这是人类的天性。如果你的服务器程序不能正常工作了,要找出罪魁祸首是非常简单的--只需要执行`git blame`。这个命令告诉你文件里的每一行的作者是谁,最后改动那一行的提交,以及提交的时间戳。 + + git blame [file_name] + +![git blame demonstration](http://dab1nmslvvntp.cloudfront.net/wp-content/uploads/2014/06/1402946443git-ninja-01.png) + +在下面的截图里,你可以看到在一个更大的库里这个命令的输出是什么样的: + +![git blame on the ATutor repository](http://dab1nmslvvntp.cloudfront.net/wp-content/uploads/2014/06/1402946441git-ninja-02.png) + +### 4. 查看库的历史 ### + +在之前的教程里,我们已经看过了如何使用`git log`命令。不管怎样,有3个选项你应该知道。 + +- **--oneline** - 压缩每次的提交信息,只保留一个缩减的Hash值和说明文字,然后把这些都展示在一行里。 +- **--graph** - 这个选项将在左边画出一个文字界面的提交历史图。如果你只有一个分支,用这个选项查看历史时是没什么意义的。 +- **--all** - 显示所有分支历史。 + +这是这3个选项合起来使用的效果: + +![Use of git log with all, graph and oneline](http://dab1nmslvvntp.cloudfront.net/wp-content/uploads/2014/06/1402946444git-ninja-03.png) + +### 5. 不要丢失对某个提交的跟踪 ### + +假设你提交了一些不需要的东西,然后你进行了hard重置回到之前的状态。后来,你发现在这个过程中你丢失了其他一些重要的信息,你想要把这些信息找回来,或者至少可以查看一下这些信息。这就需要`git reflog`帮忙。 + +简单的`git log`只能告诉你最近的提交,这个提交的父提交,父提交的父提交,等等。但是`git reflog`是一个HEAD指向的提交的列表。记住,这个列表依赖于你自己的操作环境,它不是库的一部分,也不包含在push或者merge中。 + +如果执行`git log`命令,可以看到提交历史,这是我的库的一部分: + +![Project history](http://dab1nmslvvntp.cloudfront.net/wp-content/uploads/2014/06/1402946446git-ninja-04.png) + +但是,`git reflog`命令显示了一个被我用hard重置丢掉的提交(`b1b0ee9`-`HEAD@{4}`). + +![Git reflog](http://dab1nmslvvntp.cloudfront.net/wp-content/uploads/2014/06/1402946447git-ninja-05.png) + +### 6. 暂存文件的一部分更改以便进行一次提交 ### + +通常依据特性来提交是一个好的实践方法,意思是说,每一个提交都只添加一个特性或者修复一个bug。想一下如果你一次修复了两个bug或者添加了两个特性但是都还没有提交该怎么办。这种场景下,你可以将他们一起提交。但是有一个更好的办法:单独暂存这些文件,然后分开提交。 + +让我们假设你对一个文件做了多个更改,然后想让这些更改分开提交。这时,我们用带`-p`的添加命令。 + + git add -p [file_name] + +我们来试试这种用法。我添加了3个新行到`file_name`,但是我只想让第1行和第3行出现在我的提交里。让我们看看`git diff`的输出是什么样的。 + +![Changes in repo](http://dab1nmslvvntp.cloudfront.net/wp-content/uploads/2014/06/1402946449git-ninja-06.png) + +然后,我们看看带`-p`选项的`add`命令会发生什么。 + +![Running add with -p](http://dab1nmslvvntp.cloudfront.net/wp-content/uploads/2014/06/1402946450git-ninja-07.png) + +似乎Git认为所有的更改都是同一个目的的一部分,所以把他们分组到同一个块里。这时,你可以: + +- 输入 y 暂存块 +- 输入 n 不暂存块 +- 输入 e 手动编辑块 +- 输入 d 退出或者跳转到下一个文件 +- 输入 s 分割块 + +在我们这个例子中,我们想把这个块分割成更小的部分,然后选择其中一些忽略另外一些。 + +![Adding all hunks](http://dab1nmslvvntp.cloudfront.net/wp-content/uploads/2014/06/1402946452git-ninja-08.png) + +如你所见,我们已经添加了第1和第3行,忽略了第2行。你可以看到库的状态并且进行一次提交。 + +![Repository after selectively adding a file](http://dab1nmslvvntp.cloudfront.net/wp-content/uploads/2014/06/1402946454git-ninja-09.png) + +### 7. 合并多个提交 ### + +为了进行核查或者发起一个合并请求(这经常发生在开源项目里),对代码进行了修改提交。但在最后代码被接受之前,你也许会被要求修改你的代码。于是你修改代码,但是下一次核查的时候又一次被要求进行修改。不知不觉中,你就已经有了好几个提交。理论上你应该用rebase命令把他们合并起来。 + + git rebase -i HEAD~[number_of_commits] + +如果你想合并最后的两次提交,你应该运行下面的命令。 + + git rebase -i HEAD~2 + +一旦你运行这个命令,你将进入一个交互式界面,它将询问你想要合并哪些提交。你`pick`(拣选)最近的提交然后`squash`(合并)旧的提交。 + +![Git squash interactive](http://dab1nmslvvntp.cloudfront.net/wp-content/uploads/2014/06/1402946455git-ninja-10.png) + +接着你被要求提供一个对新提交的说明。这个过程会重写你的提交历史。 + +![Adding a commit message](http://dab1nmslvvntp.cloudfront.net/wp-content/uploads/2014/06/1402946457git-ninja-11.png) + +### 8. 储藏没有提交的更改 ### + +假设你正在修复一个bug或者添加一个特性,突然你被要求展示一下你的工作成果。你现在的工作还没有完成,不够进行一次提交。这时,`git stash`命令可以用来急救一下。Stash命令跟踪你所有的更改,然后把他们储藏起来以便以后使用。命令如下- + + git stash + +可以多次储藏更改,查看储藏列表,你可以运行下面的命令: + + git stash list + +![Stash list](http://dab1nmslvvntp.cloudfront.net/wp-content/uploads/2014/06/1402946458git-ninja-12.png) + +如果你想取消储藏,覆盖当前的更改,你可以通过下面的命令使用储藏: + + git stash apply + +在最后的这个截图里,你可以看到每个储藏都有一个标识符,是一个唯一的数字(尽管在这里我们只有一个储藏)。如果你想使用某个储藏,你在apply命令后面加上这个唯一的标识符: + + git stash apply stash@{2} + +![After un-stashing changes](http://dab1nmslvvntp.cloudfront.net/wp-content/uploads/2014/06/1402946461git-ninja-13.png) + +### 9. 检查丢失的提交 ### + +尽管`reflog`是一种检查丢失提交的方法,大型的库里却不太实用。这个时候,应该用`fsck`(文件系统检查)命令。 + + git fsck --lost-found + +![Git fsck results](http://dab1nmslvvntp.cloudfront.net/wp-content/uploads/2014/06/1402946463git-ninja-14.png) + +这里你可以看到一个丢失的提交。你可以通过`git show [commit_hash]` 查看提交的更改或者通过运行`git merge [commit_hash]`命令进行恢复。 + +`git fsck`跟`reflog`命令相比有一个优点。假设你删除了一个远程分支,然后clone了这个库。用`fsck`命令你可以找到并且恢复这个删除的远程分支。 + +### 10. 最佳选择 ### + +之前我已经存记下了那些最优雅的Git命令。但是目前为止,`cherry-pick`命令是我最喜欢的Git命令,因为它直白的名字和实用的功能! + +最简单的情况下,`cherry-pick`从另一个分支里选出单独的一个提交,然后合并到当前分支。如果你正并行工作在两个或者更多的分支上,你也许会发现一个存在于所有分支上的bug。如果你解决了一个分支上的这个bug,你可以拣选这个对应的提交应用到其他分支上,而不会弄乱其他文件或者提交。 + +让我们来考虑一个可以使用这个命令的场景。我有两个分支,我想拣选`b20fd14: Cleaned junk`这个提交到另一个分支上。 + +![Before cherry pick](http://dab1nmslvvntp.cloudfront.net/wp-content/uploads/2014/06/1402946465git-ninja-15.png) + +我切换到想要应用这个拣选出来的提交的分支,然后运行下面的命令: + + git cherry-pick [commit_hash] + +![After cherry pick](http://dab1nmslvvntp.cloudfront.net/wp-content/uploads/2014/06/1402946467git-ninja-16.png) + +尽管这次我们很干净的用了`cherry-pick`命令,但你应该知道这个命令经常会引起冲突,所以请小心使用。 + +### 总结 ### + +到了这里,我们结束了这个能使你Git能力提升一个级别的列表。Git是最好的版本控制器,它能完成你能想象到的任何事情。所以,经常试着用Git挑战你自己。一不小心你就会学到很多新东西。 + +-------------------------------------------------------------------------------- + +via: http://www.sitepoint.com/10-tips-git-next-level/ + +译者:[love_daisy_love](https://github.com/CNprober) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.sitepoint.com/git-for-beginners/ +[2]:http://www.sitepoint.com/getting-started-git-team-environment/ From eabba48ad3807ed309bcacfa468260d1c197ffda Mon Sep 17 00:00:00 2001 From: joeren Date: Tue, 1 Jul 2014 09:19:43 +0800 Subject: [PATCH 26/56] Update 20140630 How to access popular search engines from the command line on Linux.md --- ...ss popular search engines from the command line on Linux.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sources/tech/20140630 How to access popular search engines from the command line on Linux.md b/sources/tech/20140630 How to access popular search engines from the command line on Linux.md index f49a1701bd..098b680a58 100644 --- a/sources/tech/20140630 How to access popular search engines from the command line on Linux.md +++ b/sources/tech/20140630 How to access popular search engines from the command line on Linux.md @@ -1,3 +1,4 @@ +Translating by GOLinux How to access popular search engines from the command line on Linux ================================================================================ Why would anyone want to search things on the Internet via a terminal? I don't know. There are probably a lot of reasons. But since an answer that no one asked for is always less frustrating than a question that no one can answer, here is a list of popular search engines with the command-line tools that allow you to access them from a Linux terminal. @@ -101,4 +102,4 @@ via: http://xmodulo.com/2014/06/access-popular-search-engines-command-line-linux [3]:https://github.com/AnirudhBhat/cliWiki.py [4]:https://github.com/vikstrous/pirate-get [5]:http://xmodulo.com/2013/12/access-twitter-command-line-linux.html -[6]:http://www.floodgap.com/software/ttytter/ \ No newline at end of file +[6]:http://www.floodgap.com/software/ttytter/ From 573242122ce8b64b68b592a09fff7549920df40c Mon Sep 17 00:00:00 2001 From: DeadFire Date: Tue, 1 Jul 2014 09:30:20 +0800 Subject: [PATCH 27/56] =?UTF-8?q?20140701-1=20=E9=80=89=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...d Certification Plan, and Teams with HP.md | 34 +++++++++++++++ ...e Timezones In Ubuntu 14.04 [Quick Tip].md | 42 +++++++++++++++++++ 2 files changed, 76 insertions(+) create mode 100644 sources/news/20140701 Red Hat Delivers Cloud Certification Plan, and Teams with HP.md create mode 100644 sources/tech/20140701 How To Add Multiple Timezones In Ubuntu 14.04 [Quick Tip].md diff --git a/sources/news/20140701 Red Hat Delivers Cloud Certification Plan, and Teams with HP.md b/sources/news/20140701 Red Hat Delivers Cloud Certification Plan, and Teams with HP.md new file mode 100644 index 0000000000..d2bb05fb5a --- /dev/null +++ b/sources/news/20140701 Red Hat Delivers Cloud Certification Plan, and Teams with HP.md @@ -0,0 +1,34 @@ +Red Hat Delivers Cloud Certification Plan, and Teams with HP +================================================================================ +![](http://farm4.static.flickr.com/3108/3191608123_67e1da2b79_o.jpg) + +When Red Hat [announced][1] very solid quarterly earnings a few days ago, CEO Jim Whitehurst was quick to attribute part of the strong performance to his company's new focus on cloud computing. In discussing the enterprises that pay Red Hat for subcription support and services, he said: "These are some of the most sophisticated IT organizations in the world, and many continue to increase their purchases from Red Hat to modernize their IT infrastructure with cloud enabling technologies." + +[I've made the point before][2] that Red is pinning its future on cloud computing and OpenStack in particular. But for Red Hat to succeed with its OpenStack plans, it needs to be able to assure enterprise users that they are using tested and interoperable tools. With that in mind, the company has [announced][3] a new cloud management certification for Red Hat Enterprise Linux OpenStack Platform as part of the Red Hat OpenStack Cloud Infrastructure Partner Network. + +Red Hat has been working closely with cloud and network management solution providers, including iBMC and HP. As members of the Red Hat OpenStack Cloud Infrastructure Partner Network, these vendors are supporting Red Hat's platform certification process. + +Radhesh Balakrishnan, Red Hat's general manager of virtualization and OpenStack said, in a statement: + +> “As OpenStack is becoming a core element of the enterprise cloud strategy for many customers, Red Hat Enterprise Linux OpenStack Platform is architected and backed by the broadest partner ecosystem to be the preferred platform. The growth and maturity of the ecosystem reflects the evolution of the product moving from addressing infrastructure-centric alignment to help with early deployments to now be well-managed, to be part of enterprise hybrid cloud implementations.” + +Atul Garg, vice president and general manager of Cloud and Automation at HP added: + +> “We are excited to work with Red Hat to certify HP Cloud Service Automation and its solutions with Red Hat Enterprise Linux OpenStack Platform, to help our mutual customers build and manage private and hybrid cloud services. Our joint efforts are aimed at enabling customers to have choice and flexibility as they deploy cloud environments which can easily flex and adapt to business needs while supporting heterogeneity and leveraging existing investments in the datacenter.” + +As enterprises deploy OpenStack, they are increasingly concerned about being able to use existing infrastructure and management tools with their deployments. The expansion of Red Hat’s certification program to include cloud management solutions is intended to help enterprises who want to deploy Red Hat Enterprise Linux OpenStack Platform in a private cloud to feel confident in using their management solutions of choice. + +One other notable thing about the new certification program is that it deepens Red Hat's partnership with HP, which is also focused on OpenStack. It will be worth watching what else comes from that partnership, and, without a doubt, [the cloud is the new battleground for winning enterprise users][4]. + +-------------------------------------------------------------------------------- + +via: http://ostatic.com/blog/red-hat-delivers-cloud-certification-plan-and-teams-with-hp + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.zdnet.com/red-hat-beats-q1-earnings-targets-as-revenue-climbs-17-percent-7000030685/ +[2]:http://ostatic.com/blog/for-red-hat-the-cloud-beckons +[3]:http://www.marketwatch.com/story/red-hat-introduces-cloud-management-certification-for-red-hat-enterprise-linux-openstack-platform-2014-06-30 +[4]:http://ostatic.com/blog/the-cloud-is-the-new-battleground-for-winning-enterprise-users \ No newline at end of file diff --git a/sources/tech/20140701 How To Add Multiple Timezones In Ubuntu 14.04 [Quick Tip].md b/sources/tech/20140701 How To Add Multiple Timezones In Ubuntu 14.04 [Quick Tip].md new file mode 100644 index 0000000000..32ffebe121 --- /dev/null +++ b/sources/tech/20140701 How To Add Multiple Timezones In Ubuntu 14.04 [Quick Tip].md @@ -0,0 +1,42 @@ +How To Add Multiple Timezones In Ubuntu 14.04 [Quick Tip] +================================================================================ +If you have to deal with multiple timezones on a regular basis, you would definitely appreciate if your desktop clock could show multiple timezones. As an expat, I have to keep the track of time in both France and India. In Ubuntu, you can easily change the settings to add multiple timezones. + +In this quick tip, we shall see **how to add additional timezone in Ubuntu 14.04**. + +### Add multiple timezones in Ubuntu 14.04 ### + +Go to System Settings (press Windows key and search for system settings in Unity Dash) and look for Time & Date. + +In here, go to **Clock** tab and check the **Time in other locations** box. After that click on **Choose locations** button. + +![Add multiple timezones in Ubuntu](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/06/Timezone_Ubuntu.jpeg) + +It will open a box where you can **type a location** of your choice and a drop down will appear with matching locations. Choose the one you want and **click on the plus (+) sign** to add it. + +![Adding timezone in Ubuntu](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/06/Add_Timezone_Ubuntu.png) + +Once you have done this, you can see various timezone added in the clock. + +![multiple timezone displayed in Ubuntu 14.04](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/06/Multiple_Timezones_display_Ubuntu.png) + +Enjoy Ubuntu across timezones :) + +---------- + +![](http://0.gravatar.com/avatar/20749c268f5d3e4d2c785499eb6a17c0?s=80&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D80&r=G) + +#### About Abhishek #### + +I am Abhishek Prakash, 'creator' of It's F.O.S.S. I have a Masters in Communication System Engineering. I am an avid Linux lover and Open Source enthusiast. I use Ubuntu and believe in sharing knowledge. Apart from Linux, I love classic detective mystery. Huge fan of Agatha Christie work. Feel free to circle me on [Google Plus][g] and [Follow @abhishek_pc][t] + +-------------------------------------------------------------------------------- + +via: http://itsfoss.com/add-multiple-timezones-ubuntu-1404/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[g]:https://plus.google.com/u/0/110180944531110746460 +[t]:https://twitter.com/abhishek_pc \ No newline at end of file From f0903a3ba6cce0848fabafd220507e8e10e896a0 Mon Sep 17 00:00:00 2001 From: DeadFire Date: Tue, 1 Jul 2014 09:36:05 +0800 Subject: [PATCH 28/56] =?UTF-8?q?20140701-2=20=E9=80=89=E9=A2=98=20Command?= =?UTF-8?q?=20Line=20Tuesdays=20=E6=96=B0=E4=B8=80=E7=AF=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...0140701 Command Line Tuesdays--Part Two.md | 68 +++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 sources/tech/20140701 Command Line Tuesdays--Part Two.md diff --git a/sources/tech/20140701 Command Line Tuesdays--Part Two.md b/sources/tech/20140701 Command Line Tuesdays--Part Two.md new file mode 100644 index 0000000000..5f54ac0703 --- /dev/null +++ b/sources/tech/20140701 Command Line Tuesdays--Part Two.md @@ -0,0 +1,68 @@ +Command Line Tuesdays – Part Two +================================================================================ +Heya geekos! + +Let’s refresh our memories. [Last week][1], we skimmed through some basic commands, learned what a shell is actually, and made a steady introduction into our CLI Tuesdays series. + +Today’s menu offers something else: navigation through the file system. + +Now, the best picture I managed to find on the www is from a site called [devopsbootcamp][2]. You can find their tutorials and the rest here. But anyway, here’s a very nice diagram of what a linux root filesystem looks like. + +![Filesys](http://devopsbootcamp.readthedocs.org/en/latest/_images/hierarchy.jpg) + +For example, as stated in the above picture, your user directory (where you usually store your movies, music, documents etc.) is located in the /home folder. /home folder is located under /. Then you have the /etc folder, where most of the files for configuration are located. Anyway, you can find the detailed description here, as we’ll not be getting into which folder is for what, until we start using and configuring them. Today is reserved for navigation only. And on that note, let’s get down to the first command of the day… + +### pwd ### + +pwd, or ‘print working directory’ is a very useful command if you think you are lost navigating through the folders. At any given moment, type pwd, and voila! What appears is a complete pathway you took to arrive to this folder. Those guys in The Cube could sure use it, losers. + +![Cube](http://bloody-disgusting.com/images/news/cube2review1.gif) +注:此图原文哪里看不到,看看能通过什么途径得到 + +Imagine yourselves walking from room to room inside a massive apartment, loosing your way. pwd is like the breadcrumb trail leading you to your starting point, so you don’t loose your way inside the folder maze! + +![pwd](http://redhat.activeventure.com/73/gettingstartedguide/figs/basics/pwd.png) + +### cd ### + +Now you know in which directory you’re situated thanks to your usage of the pwd command. Now you want to take the next step and move to another directory. Let’s say you have a folder/directory inside your home folder you want to relocate your top secret terminal operation to. For this, you use the ‘cd’ command. cd, or ‘change directory’, will change the location of wanted directory. How do you use it? Simple, type cd and the path to your folder. Let’s say, for example, you want to enter your Hello Kitty picture collection in your home folder. You type ‘cd /home/username/Hello\ Kitty’. + +As you see, we didn’t only use the space bar in the folder name. That’s because the terminal won’t recognize it. Whenever you want to navigate to a folder containing a space in it’s name, you **replace it with the backslash character, followed by space**. You can also, without using the backslash+space option, just put the **whole folder name into quotes**, f.ex. cd /home/username/”Hello Kitty”. + +![cd](http://blogote.com/wp-content/uploads/2010/06/terminal-cd-desktop.png) + +Try it out yourself. Navigate to a different directory using cd, and when there, type pwd to see if everything worked as it’s supposed to. + +### Mr. Shotts’ Shottcuts ### + +Mr. Shotts reminds us there are also some shortcuts available. + +If you type only cd, without the path following it, your terminal will change your working directory (whatever it may be) to your /home folder. + +The same, if you type cd `~user_name` it will lead you to the home folder of the specific user you stated. + +### Next Week ### + +Next week, we’ll head over to the next chapter – we’ll learn how to list files and directories, view text files and classify file’s contents so it will be a bit more work than we’re used to, but I hope you’ll have enough time. Command by command, and if you haven’t the time to do it yourself, we’ll learn the basics together in a matter of months! + +and remember… + +### …have a lot of fun! ### + +P.S.: Thanks to bwl’s comment, we fixed an error in the text regarding the space bar in directory names. + +P.P.S.: GreatEmerald also added some fresh information about file hierarchy. You can read it in [the comments][3]. + +Thanks for your input/corrections. + +-------------------------------------------------------------------------------- + +via: https://news.opensuse.org/2014/06/24/command-line-tuesdays-part-two/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:https://news.opensuse.org/2014/06/10/command-line-tuesdays-part-one/ +[2]:http://devopsbootcamp.readthedocs.org/ +[3]:https://news.opensuse.org/2014/06/24/command-line-tuesdays-part-two/comment-page-1/#comment-99186 \ No newline at end of file From ee192af51066b7ba4c29c4c1839a4a40d848d309 Mon Sep 17 00:00:00 2001 From: DeadFire Date: Tue, 1 Jul 2014 10:17:45 +0800 Subject: [PATCH 29/56] =?UTF-8?q?20140701-3=20=E9=80=89=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...risons With These Great Free Diff Tools.md | 166 ++++++++++++++++++ 1 file changed, 166 insertions(+) create mode 100644 sources/talk/20140701 Easy File Comparisons With These Great Free Diff Tools.md diff --git a/sources/talk/20140701 Easy File Comparisons With These Great Free Diff Tools.md b/sources/talk/20140701 Easy File Comparisons With These Great Free Diff Tools.md new file mode 100644 index 0000000000..92dbf74103 --- /dev/null +++ b/sources/talk/20140701 Easy File Comparisons With These Great Free Diff Tools.md @@ -0,0 +1,166 @@ +Easy File Comparisons With These Great Free Diff Tools +================================================================================ +by Frazer Kline + +File comparison compares the contents of computer files, finding their common contents and their differences. The result of the comparison is often known as a diff. + +diff is also the name of a famous console based file comparison utility that outputs the differences between two files. The diff utility was developed in the early 1970s on the Unix operating system. diff will output the parts of the files where they are different. + +Linux has many good GUI tools that enable you to clearly see the difference between two files or two versions of the same file. This roundup selects 5 of my favourite GUI diff tools, with all but one released under an open source license. + +These utilities are an essential software development tool, as they visualize the differences between files or directories, merge files with differences, resolve conflicts and save output to a new file or patch, and assist file changes reviewing and comment production (e.g. approving source code changes before they get merged into a source tree). They help developers work on a file, passing it back and forth between each other. The diff tools are not only useful for showing differences in source code files; they can be used on many text-based file types as well. The visualisations make it easier to compare files. + +---------- + +![](http://www.linuxlinks.com/portal/content2/png/Meld.png) + +![](http://www.linuxlinks.com/portal/content/reviews/Utilities/Screenshot-Meld.png) + +Meld is an open source graphical diff viewer and merge application for the Gnome desktop. It supports 2 and 3-file diffs, recursive directory diffs, diffing of directories under version control (Bazaar, Codeville, CVS, Darcs, Fossil SCM, Git, Mercurial, Monotone, Subversion), as well as the ability to manually and automatically merge file differences. + +Meld's focus is on helping developers compare and merge source files, and get a visual overview of changes in their favourite version control system. + +Features include + +- Edit files in-place, and your comparison updates on-the-fly +- Perform twoand three-way diffs and merges +- Easily navigate between differences and conflicts +- Visualise global and local differences with insertions, changes and conflicts marked +- Built-in regex text filtering to ignore uninteresting differences +- Syntax highlighting (with optional gtksourceview) +- Compare two or three directories file-by-file, showing new, missing, and altered files +- Directly open file comparisons of any conflicting or differing files +- Filter out files or directories to avoid seeing spurious differences +- Auto-merge mode and actions on change blocks help make merges easier +- Simple file management is also available +- Supports many version control systems, including Git, Mercurial, Bazaar and SVN +- Launch file comparisons to check what changes were made, before you commit +- View file versioning statuses +- Simple version control actions are also available (i.e., commit/update/add/remove/delete files) +- Automatically merge two files using a common ancestor +- Mark and display the base version of all conflicting changes in the middle pane +- Visualise and merge independent modifications of the same file +- Lock down read-only merge bases to avoid mistakes +- Command line interface for easy integration with existing tools, including git mergetool +- Internationalization support +- Visualisations make it easier to compare your files + +- Website: [meldmerge.org][1] +- Developer: Kai Willadsen +- License: GNU GPL v2 +- Version Number: 1.8.5 + +---------- + +![](http://www.linuxlinks.com/portal/content2/png/DiffMerge.png) + +![](http://www.linuxlinks.com/portal/content/reviews/Utilities/Screenshot-DiffMerge.png) +注:上面这个图访问不到,图的地址是原文地址的小图的链接地址,发布的时候在验证一下,如果还访问不到,不行先采用小图或者网上搜一下看有没有大图 + +DiffMerge is an application to visually compare and merge files on Linux, Windows, and OS X. + +Features include: + +- Graphically shows the changes between two files. Includes intra-line highlighting and full support for editing +- Graphically shows the changes between 3 files. Allows automatic merging (when safe to do so) and full control over editing the resulting file +- Performs a side-by-side comparison of 2 folders, showing which files are only present in one file or the other, as well as file pairs which are identical, equivalent or different +- Rulesets and options provide for customized appearance and behavior +- Unicode-based application and can import files in a wide range of character encodings +- Cross-platform tool + +- Website: [sourcegear.com/diffmerge][2] +- Developer: SourceGear LLC +- License: Licensed for use free of charge (not open source) +- Version Number: 4.2 + +---------- + +![](http://www.linuxlinks.com/portal/content2/png/xxdiff.png) + +![](http://www.linuxlinks.com/portal/content/reviews/Utilities/Screenshot-xxdiff.png) + +xxdiff is an open source graphical file and directories comparator and merge tool. + +xxdiff can be used for viewing the differences between two or three files, or two directories, and can be used to produce a merged version. The texts of the two or three files are presented side by side with their differences highlighted with colors for easy identification. + +This program is an essential software development tool that can be used to visualize the differences between files or directories, merge files with differences, resolving conflicts and saving output to a new file or patch, and assist file changes reviewing and comment production (e.g. approving source code changes before they get merged into a source tree). + +Features include: + +- Compare two files, three files, or two directories (shallow and recursive) +- Horizontal diffs highlighting +- Files can be merged interactively and resulting output visualized and saved +- Features to assist in performing merge reviews/policing +- Unmerge CVS conflicts in automatically merged file and display them as two files, to help resolve conflicts +- Uses external diff program to compute differences: works with GNU diff, SGI diff and ClearCase's cleardiff, and any other diff whose output is similar to those +- Fully customizable with a resource file +- Look-and-feel similar to Rudy Wortel's/SGI xdiff, it is desktop agnostic +- Features and output that ease integration with scripts + +- Website: [furius.ca/xxdiff][3] +- Developer: Martin Blais +- License: GNU GPL +- Version Number: 4.0 + +---------- + +![](http://www.linuxlinks.com/portal/content2/png/Diffuse.png) + +![](http://www.linuxlinks.com/portal/content/reviews/Utilities/Screenshot-Diffuse.png) + +Diffuse is an open source graphical tool for merging and comparing text files. Diffuse is able to compare an arbitrary number of files side-by-side and offers the ability to manually adjust line-matching and directly edit files. Diffuse can also retrieve revisions of files from bazaar, CVS, darcs, git, mercurial, monotone, Subversion and GNU Revision Control System (RCS) repositories for comparison and merging. + +Features include: + +- Compare and merge an arbitrary number of files side-by-side (n-way merges) +- Line matching can be manually corrected by the user +- Directly edit files +- Syntax highlighting +- Bazaar, CVS, Darcs, Git, Mercurial, Monotone, RCS, Subversion, and SVK support +- Unicode support +- Unlimited undo +- Easy keyboard navigation + +- Website: [diffuse.sourceforge.net][] +- Developer: Derrick Moser +- License: GNU GPL v2 +- Version Number: 0.4.7 + +---------- + +![](http://www.linuxlinks.com/portal/content2/png/Kompare.png) + +![](http://www.linuxlinks.com/portal/content/reviews/Utilities/Screenshot-Kompare.png) + +Kompare is an open source GUI front-end program that enables differences between source files to be viewed and merged. Kompare can be used to compare differences on files or the contents of folders. Kompare supports a variety of diff formats and provide many options to customize the information level displayed. + +Whether you are a developer comparing source code, or you just want to see the difference between that research paper draft and the final document, Kompare is a useful tool. + +Kompare is part of the KDE desktop environment. + +Features include: + +- Compare two text files +- Recursively compare directories +- View patches generated by diff +- Merge a patch into an existing directory +- Entertain you during that boring compile + +- Website: [www.caffeinated.me.uk/kompare/][5] +- Developer: The Kompare Team +- License: GNU GPL +- Version Number: Part of KDE + +-------------------------------------------------------------------------------- + +via: http://www.linuxlinks.com/article/2014062814400262/FileComparisons.html + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://meldmerge.org/ +[2]:https://sourcegear.com/diffmerge/ +[3]:http://furius.ca/xxdiff/ +[4]:http://diffuse.sourceforge.net/ +[5]:http://www.caffeinated.me.uk/kompare/ \ No newline at end of file From d525b680c3375780bafb9fa8f813576858addd5b Mon Sep 17 00:00:00 2001 From: GOLinux Date: Tue, 1 Jul 2014 10:54:26 +0800 Subject: [PATCH 30/56] Translated:How to access popular search engines from the command line on Linux --- ... engines from the command line on Linux.md | 105 ------------------ ... engines from the command line on Linux.md | 100 +++++++++++++++++ 2 files changed, 100 insertions(+), 105 deletions(-) delete mode 100644 sources/tech/20140630 How to access popular search engines from the command line on Linux.md create mode 100644 translated/tech/20140630 How to access popular search engines from the command line on Linux.md diff --git a/sources/tech/20140630 How to access popular search engines from the command line on Linux.md b/sources/tech/20140630 How to access popular search engines from the command line on Linux.md deleted file mode 100644 index 098b680a58..0000000000 --- a/sources/tech/20140630 How to access popular search engines from the command line on Linux.md +++ /dev/null @@ -1,105 +0,0 @@ -Translating by GOLinux -How to access popular search engines from the command line on Linux -================================================================================ -Why would anyone want to search things on the Internet via a terminal? I don't know. There are probably a lot of reasons. But since an answer that no one asked for is always less frustrating than a question that no one can answer, here is a list of popular search engines with the command-line tools that allow you to access them from a Linux terminal. - -### 1. Google ### - -Let's start right with a giant: Bing! No just kidding, Google. To be frank, you don't really need a utility to search on Google from the command line. A simple: - - $ xdg-open https://www.google.com/search?q="[query]" - -would open your web browser on the appropriate search page. However, if what you want is to see the results of that search from a terminal window, without opening any kind of web browser, I would recommend using [cli-google][1]. It is super old (last updated in 2009) but I like it. It is a simple and straightforward application which does exactly what it's supposed to do. - -Once you install cli-google, you can do searches with a colored output. You can also adjust the amount of results and the language that you want. Just type: - - $ google - -in your terminal to see all the options. - -![](https://farm6.staticflickr.com/5491/14330385480_91b0e138ee_z.jpg) - -### 2. YouTube ### - -There is going to be a lot of Google in this list. I will try to keep it as minimal as possible, but there is no escape. YouTube is for a lot of people the go to when it comes to finding a video of something quickly. To do such things from a terminal, my go to is [mps-youtube][2]. This software lets you search, make playlists, download videos, and read the comments from the terminal. Once you install mps-youtube, launch it with: - - $ mpsyt - -Then type h to see the options. For quick usage, you can just do: - - /[query] - -to search for something, then type the number ID of the video to listen to its sound, or type: - - i [video-number] - -to see its information, and type: - - d [video-number] - -to download it. If just listening is not enough for you, here is the trick: - - set player mplayer - set show_video True - -Now the video will show up in another window on mplayer. - -![](https://farm3.staticflickr.com/2925/14517040865_1d54ccce3b_z.jpg) - -### 3. Wikipedia ### - -Same as for Google, for Wikipedia I like an old script that works just fine: [cliWiki][3]. Once you install it, just run: - - $ cliwiki - -And then type in your search. If there is a direct match, the page will be displayed in the terminal. The output can be quite long so I advise you to channel it with the less command. It is certainly not the most efficient way to do it, but if your goal is to get a block of text concerning a keyword, this is exactly what you need. - -![](https://farm3.staticflickr.com/2903/14330600657_065d26cdf2_z.jpg) - -### 4. The Pirate Bay ### - -Now let's talk dirty. There are surprisingly (or not) a lot of utilities to find torrents on The Pirate Bay from the command line. However my preference goes to [pirate-get][4]. It comes with a ton of options that you can discover with: - - $ pirate-get -h - -But to keep it simple: - - $ pirate-get --color -c [category] [query] - -will return the result from a certain category of the search corresponding to a query, and with a colored output! From there, the application will prompt you to enter the number of the result that you want, and will then download the torrent from a magnet link. Simple and easy. Use only on non-copyrighted material! - -![](https://farm4.staticflickr.com/3923/14330448479_ae503561e6_z.jpg) - -### 5. Twitter ### - -Twitter is a good search engine for trends. We already covered [how to access Twitter from the command line][5] using t, but I personally prefer [TTYtter][6] to it. This utility is extermely powerful, could deserve its own post, and cannot be resumed to simply searching. But I am just going to use it as a search engine here. Once installed and configured, you can log in and search using the command: - - /search [query] - -The interface is a bit rough on the eye, but you will get accustomed quickly. Notice that this will work with plain words but also hash-tags. - -![](https://farm6.staticflickr.com/5077/14537153013_cc32a98b08_z.jpg) - -To conclude, these are in my opinion the big five search engines that people tend to use the most and which are accessible via the command line. The absents are probably Google Images and Google Maps, but those are kind of hard to adapt to the console I guess. I also wanted to look for a music search engine, but did not find any "worthy" of this list. As you have probably noticed, the tools on this list are uneven in term of features and options: some are simplistic while others go deep into functionality. But in the end they all do the job. - -Which search engines are missing from this list? Do you know some utilities that were not mentioned? Let us know in the comments. - ----------- - -#### Adrien Brochard #### - -I am a Linux aficionado from France. After trying multiple distributions, I finally settled for Archlinux. But I am always trying to improve my system by stacking up tips and tricks. --------------------------------------------------------------------------------- - -via: http://xmodulo.com/2014/06/access-popular-search-engines-command-line-linux.html - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:https://github.com/henux/cli-google -[2]:https://github.com/np1/mps-youtube -[3]:https://github.com/AnirudhBhat/cliWiki.py -[4]:https://github.com/vikstrous/pirate-get -[5]:http://xmodulo.com/2013/12/access-twitter-command-line-linux.html -[6]:http://www.floodgap.com/software/ttytter/ diff --git a/translated/tech/20140630 How to access popular search engines from the command line on Linux.md b/translated/tech/20140630 How to access popular search engines from the command line on Linux.md new file mode 100644 index 0000000000..5e7fe1b8d4 --- /dev/null +++ b/translated/tech/20140630 How to access popular search engines from the command line on Linux.md @@ -0,0 +1,100 @@ +主流搜索引擎闯入Linux命令行世界 +================================================================================ +为什么会有人要从终端搜索互联网上的东西?我不清楚,这里头可能有许多的原因。但是,因为没人要求答案总比没人知道答案少令人失望一点。这里,列出了一些流行的搜索引擎的命令行工具,可以让你们通过Linux终端来访问它们。 + +### 1. Google ### +让我们从一个巨头开始吧:Bing!好吧,只是开个玩笑,事实上应该是Google。坦白讲,你根本不需要使用命令行工具来进行Google搜索。只需要简简单单的一个命令: + + $ xdg-open https://www.google.com/search?q="[query]" + + +它会打开网页浏览器,并转到合适的搜索页面。然而,如果你想要的是从终端窗口查看搜索结果,而不是打开什么网页浏览器,那么我推荐你使用[cli-google][1]。它是一个超级老古董了(最后一次更新是在2009年),但我喜欢它。这是一个简单而直接的应用,它会忠实地干好它应该干的事。 + +安装完cli-google后,你就可以开始用它来搜索了,它的输出是那样的五彩斑斓。你也可以调整搜索结果的数量和你想要的语言,你只需要在终端中敲入: + + $ google + +就可以看到所有的选项了。 + +![](https://farm6.staticflickr.com/5491/14330385480_91b0e138ee_z.jpg) + +### 2. YouTube ### +关于Google,有太多的东西要放进列表来。我会尽量简明扼要,但绝不会放过该有的。对于许多人而言,YouTube是他们快速查找相关内容视频的首选。要在终端中完成此事,我则钟情于[mps-youtube][2]。这个软件可以让你在终端中搜索、下载视频,创建播放列表,以及查看关于视频的评论。安装完mps-youtube后,你可以使用下面的命令来启动: + + $ mpsyt + +然后,输入 h 来查看选项。要查看简明用法,你可以像下面这样: + + /[query] + +来搜索你想知道的一切,然后输入视频的编号来听听它的声音,或者输入: + + i [video-number] + +来看看相关信息,也可以输入: + + d [video-number] + +来下载它。如果你觉得光听还不过瘾,这里还有更好玩的: + + set player mplayer + set show_video True + +现在,你可以在另外一个窗口里头用mplayer来播放视频了。 + +![](https://farm3.staticflickr.com/2925/14517040865_1d54ccce3b_z.jpg) + +### 3. 维基百科 ### +与Google一样,对于维基百科,我也喜欢一个古老的脚本,它干的不赖:[cliWiki][3]。安装完后,赶紧运行一下看看: + + $ cliwiki + +然后,你就可以输入你想要搜索的内容了。如果有直接匹配的条目,终端中就会显示相关页面了。哈,输出内容可真够长的,建议你还是用less命令来看吧。当然,这不是最高效的方法,但你的母的只是想要查看与关键词相关的文本,那这就是你想要的。 + +![](https://farm3.staticflickr.com/2903/14330600657_065d26cdf2_z.jpg) + +### 4. 海盗湾 ### +现在,让我们聊聊龌龊的东西。网上有很多意想不到的(也许你不觉得)工具,可以帮助你在命令行下查找海盗湾上的种子。而在这其中,[pirate-get][4]是我的最爱。它里面蕴藏了大量的选项,你可以通过下面的命令来发现它们: + + $ pirate-get -h + +但是还是简单一些吧: + + $ pirate-get --color -c [category] [query] + +以上命令会返回与查询内容相关的特定搜索类目中的结果,输出结果也是彩色的!那里头,程序会提示你输入你想要的结果的编号,输入后就可以从磁链上下载种子了。简单又容易,仅限于没有版权的资料哦! + +![](https://farm4.staticflickr.com/3923/14330448479_ae503561e6_z.jpg) + +### 5. Twitter ### +Twitter是迎合潮流的一个很好的搜索引擎。我们已经在[如何在命令行中访问Twitter][5]一文中介绍了它的用法,但是我个人更喜欢[TTYtter][6]。该工具及其强大,它应该有它自身的一席之地,而不再仅仅用于简单搜索了。但在这里,我只想把它当作搜索引擎使用。安装并配置完后,你就可以登陆进去,并使用下面的命令来搜索了: + + /search [query] + +界面在视觉上有点粗糙,但是你很快会习惯的。注意,这里头只能用普通的文字,也可以用哈希标记。 + +![](https://farm6.staticflickr.com/5077/14537153013_cc32a98b08_z.jpg) + +最后来小结一下吧,这里列出了我认为人们使用最多5大搜索引擎,这些搜索引擎都可以通过命令行来访问。这里Google图像和Google地图可能缺席了,但我想这些可能不能很好适应控制台环境吧。我也想要寻找一个音乐搜索引擎,但是没有找到对于本列表“有价值的”。就像你可能已经注意到的那样,列表中的工具在功能和选项上是良莠不齐的:其中一些很简单,而另外一些则功能很复杂。但不管怎么说,最后它们都还是完成了它们的任务。 + +列表中错失了哪些搜索引擎?你还知道哪些没有提到过的工具呢?请在文章评论中告诉我们吧。 + +---------- + +#### Adrien Brochard #### + +我是一位来自法国的Linux爱好者。在尝试了多个发行版后,我最后认可了Archlinux。然而,我一直在试着通过积累一些知识和技巧来改善我的系统。 +-------------------------------------------------------------------------------- + +via: http://xmodulo.com/2014/06/access-popular-search-engines-command-line-linux.html + +译者:[GOLinux](https://github.com/GOLinux) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:https://github.com/henux/cli-google +[2]:https://github.com/np1/mps-youtube +[3]:https://github.com/AnirudhBhat/cliWiki.py +[4]:https://github.com/vikstrous/pirate-get +[5]:http://xmodulo.com/2013/12/access-twitter-command-line-linux.html +[6]:http://www.floodgap.com/software/ttytter/ From e50ed3218792c9a35e9b2dda8ff8b1044c515658 Mon Sep 17 00:00:00 2001 From: disylee Date: Tue, 1 Jul 2014 15:21:25 +0800 Subject: [PATCH 31/56] Update 20140618 110 Fun Open Source Games and Apps.md translating by disylee 20140701 --- sources/talk/20140618 110 Fun Open Source Games and Apps.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sources/talk/20140618 110 Fun Open Source Games and Apps.md b/sources/talk/20140618 110 Fun Open Source Games and Apps.md index fb0a69e24f..c4a59eb1ab 100644 --- a/sources/talk/20140618 110 Fun Open Source Games and Apps.md +++ b/sources/talk/20140618 110 Fun Open Source Games and Apps.md @@ -1,3 +1,4 @@ +translating by disylee 20140701 110 Fun Open Source Games and Apps ================================================================================ Once again, we're celebrating the arrival of summer with a list of some of the best open source games available. We've updated [last year's list][1] with some new arrivals, as well as getting rid of some of the older games that are no longer under active development. You'll find arcade, board, casual, puzzle, educational, first-person shooter, music, racing, role-playing, adventure, simulator and strategy games, as a well as a few apps that aren't really games but are still a lot of fun. @@ -589,4 +590,4 @@ via: http://www.datamation.com/open-source/110-fun-open-source-games-and-apps-1. [108]:http://community.electricsheep.org/ [109]:http://lcars24.com/ [110]:http://stellarium.org/ -[111]:http://tuxpaint.org/ \ No newline at end of file +[111]:http://tuxpaint.org/ From 5328b6af81c8351e12a798708ac5142f3ea7feba Mon Sep 17 00:00:00 2001 From: DeadFire Date: Tue, 1 Jul 2014 15:58:22 +0800 Subject: [PATCH 32/56] =?UTF-8?q?20140701-4=20=E9=80=89=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...nVPN up and running, enjoy your privacy.md | 499 ++++++++++++++++++ 1 file changed, 499 insertions(+) create mode 100644 sources/tech/20140701 Get OpenVPN up and running, enjoy your privacy.md diff --git a/sources/tech/20140701 Get OpenVPN up and running, enjoy your privacy.md b/sources/tech/20140701 Get OpenVPN up and running, enjoy your privacy.md new file mode 100644 index 0000000000..54ee1ff9c2 --- /dev/null +++ b/sources/tech/20140701 Get OpenVPN up and running, enjoy your privacy.md @@ -0,0 +1,499 @@ +Get OpenVPN up and running, enjoy your privacy +================================================================================ +![](http://parabing.com/assets/uploads/2014/06/openVPN-featured.jpg) + +> We are fanatic supporters of privacy. Not so much because we have super secrets to hide, but because we consider privacy as a basic human right. So we believe that anytime anyone chooses to exercise that right on the net, then they should have unencumbered access to all the necessary tools and services. OpenVPN is such a service and there are also many tools (clients) which allow us to utilize and enjoy that service. + +By establishing a connection to an [OpenVPN][1] server, we basically create a secure communications channel between our device and the remote host OpenVPN runs on. Although traffic flowing between these two end-points can be intercepted, it is strongly encrypted and thus practically useless to the interceptor. In addition to the OpenVPN acting as the facilitator of this encrypted channel (or tunnel), we may configure the server to also play the role of our Internet gateway. By doing so, we can for example hook up to any open, inherently insecure WiFi network, then immediately connect to the remote OpenVPN server and start using any Internet-enabled application without worrying of prying eyes or bored administrators. (Note though that we still need to trust any administrator in the vicinity of the OpenVPN server. But more on that towards the end of the post.) + +This article is a step-by-step guide on how to setup OpenVPN on [Ubuntu Server 14.04 LTS][2]. The OpenVPN host computer may be a VPS in the cloud, a virtual machine running on one of our computers at home, or even that somewhat aged box we tend to forget we have. + +### Step 01 -- System Preparation ### + +We gain access to a command shell in the Ubuntu Server host, for example by remotely connecting to it via SSH, and immediately refresh the local repository database: + + sub0@delta:~$ sudo apt-get update + +To perform any upgrades for all installed packages and the operating system itself, we type: + + sub0@delta:~$ sudo apt-get dist-upgrade + +If a new kernel gets pulled in, a system reboot will be required. After refreshing and upgrading, it’s time to install OpenVPN: + + sub0@delta:~$ sudo apt-get -y install openvpn easy-rsa dnsmasq + +Notice that we installed three packages with apt-get: + +- openvpn provides the core of OpenVPN +- easy-rsa contains some handy scripts for key management +- dnsmasq is the name server we’ll be using later on, when our OpenVPN server box/VM will assume the role of a router for all OpenVPN clients` + +### Step 02 -- Master certificate and private key for the Certificate Authority ### + +The most important –and admittedly the most crucial– step during the setup of an OpenVPN server, is the establishment of a corresponding Public Key Infrastructure (PKI). This infrastructure comprises the following: + +- A certificate (public key) and a private key for the OpenVPN server +- A certificate and a private key for any OpenVPN client +- A master certificate and a private key for the Certificate Authority (CA). This private key is used for signing the OpenVPN certificate as well as the client certificates. + +Beginning with the latter, we create a convenient working directory + + sub0@delta:~$ sudo mkdir /etc/openvpn/easy-rsa + +and then copy easy-rsa’s files to it: + + sub0@delta:~$ sudo cp -r /usr/share/easy-rsa/* /etc/openvpn/easy-rsa + +Before we actually create the keys for the CA, we open /etc/openvpn/easy-rsa/vars for editing (we like the nano text editor but this is just our preference): + + sub0@delta:~$ sudo nano /etc/openvpn/easy-rsa/vars + +Towards the end of the file we assign values to a set of variables which are read during the creation of the master certificate and private key. Take a look at the variables we assigned values to: + + export KEY_COUNTRY="GR" + export KEY_PROVINCE="Central Macedonia" + export KEY_CITY="Thessaloniki" + export KEY_ORG="Parabing Creations" + export KEY_EMAIL="nobody@parabing.com" + export KEY_CN="VPNsRUS" + export KEY_NAME="VPNsRUS" + export KEY_OU="Parabing" + export KEY_ALTNAMES="VPNsRUS" + +It goes without saying that you may assign different values, more appropriate for your case. Also take particular note of the last line, in which we set a value to the KEY_ALTNAMES variable. This line is not part of the original vars file but we nevertheless append it at the end of said file, or the build-ca script we’re going to run next will fail. + +To save the changes in vars we hit [CTRL+O] followed by the [Enter] key. To quit nano we hit [CTRL+X]. Now, we gain access to the root account and move on to building of the master certificate and private key: + + sub0@delta:~$ sudo su + root@delta:/home/sub0# cd /etc/openvpn/easy-rsa + root@delta:/etc/openvpn/easy-rsa# source vars + NOTE: If you run ./clean-all, I will be doing a rm -rf on /etc/openvpn/easy-rsa/keys + root@delta:/etc/openvpn/easy-rsa# sh clean-all + root@delta:/etc/openvpn/easy-rsa# sh build-ca + Generating a 1024 bit RSA private key + ...++++++ + ................++++++ + writing new private key to 'ca.key' + ----- + You are about to be asked to enter information that will be incorporated + into your certificate request. + What you are about to enter is what is called a Distinguished Name or a DN. + There are quite a few fields but you can leave some blank + For some fields there will be a default value, + If you enter '.', the field will be left blank. + ----- + Country Name (2 letter code) [GR]: + State or Province Name (full name) [Central Macedonia]: + Locality Name (eg, city) [Thessaloniki]: + Organization Name (eg, company) [Parabing Creations]: + Organizational Unit Name (eg, section) [Parabing]: + Common Name (eg, your name or your server's hostname) [VPNsRUS]: + Name [VPNsRUS]: + Email Address [nobody@parabing.com]: + root@delta:/etc/openvpn/easy-rsa# + +In our example the default answers were used for all the questions. After the build-ca script finishes we have the file for the master certificate (keys/ca.crt) and also the file for the private key (keys/ca.key). The latter must be kept secret at all costs. + +### Step 03 -- Certificate and private key for the OpenVPN server ### + +Before we make a certificate and private key for our OpenVPN server, we need to pick a name for it. We decided to name ours “delta” and then ran the build-key-server script to get the keys: + + root@delta:/etc/openvpn/easy-rsa# sh build-key-server delta + Generating a 1024 bit RSA private key + ....++++++ + ...++++++ + writing new private key to 'delta.key' + ----- + You are about to be asked to enter information that will be incorporated + into your certificate request. + What you are about to enter is what is called a Distinguished Name or a DN. + There are quite a few fields but you can leave some blank + For some fields there will be a default value, + If you enter '.', the field will be left blank. + ----- + Country Name (2 letter code) [GR]: + State or Province Name (full name) [Central Macedonia]: + Locality Name (eg, city) [Thessaloniki]: + Organization Name (eg, company) [Parabing Creations]: + Organizational Unit Name (eg, section) [Parabing]: + Common Name (eg, your name or your server's hostname) [delta]: + Name [VPNsRUS]:deltaVPN + Email Address [nobody@parabing.com]: + + Please enter the following 'extra' attributes + to be sent with your certificate request + A challenge password []: + An optional company name []: + Using configuration from /etc/openvpn/easy-rsa/openssl-1.0.0.cnf + Check that the request matches the signature + Signature ok + The Subject's Distinguished Name is as follows + countryName :PRINTABLE:'GR' + stateOrProvinceName :PRINTABLE:'Central Macedonia' + localityName :PRINTABLE:'Thessaloniki' + organizationName :PRINTABLE:'Parabing Creations' + organizationalUnitName:PRINTABLE:'Parabing' + commonName :PRINTABLE:'delta' + name :PRINTABLE:'deltaVPN' + emailAddress :IA5STRING:'nobody@parabing.com' + Certificate is to be certified until Apr 7 08:06:02 2024 GMT (3650 days) + Sign the certificate? [y/n]:y + + 1 out of 1 certificate requests certified, commit? [y/n]y + Write out database with 1 new entries + Data Base Updated + root@delta:/etc/openvpn/easy-rsa# + +The script successfully finished and we got a certificate (keys/delta.crt) as well as a private key (keys/delta.key) for our server. Note that the server certificate is signed by the CA’s private key. + +### Step 04 -- Diffie-Hellman parameters ### + +The secure passing of keys over an insecure communications channel is made possible thanks to a well-known technique involving the so called Diffie-Hellman parameters. To generate those we just type + + root@delta:/etc/openvpn/easy-rsa# sh build-dh + Generating DH parameters, 2048 bit long safe prime, generator 2 + This is going to take a long time + .......................+.....................................+.. + ...........................+..+.....................+........... + ..............................................+................. + .......................+........................................ + ................................................+............... + .......................................++*++*++* + root@delta:/etc/openvpn/easy-rsa# + +The certificates, private keys and the file containing the Diffie-Hellman parameters we just generated, are all stored into the /etc/openvpn/easy-rsa/keys directory. So up until now we have five files in total and in our case they are as follows: + +1. **ca.crt** – the certificate of the Certificate Authority +2. **ca.key** – the private key of the CA +3. **delta.crt** – the certificate of the OpenVPN server +4. **delta.key** – the private key of the OpenVPN server +5. **dh2048.pem** – the Diffie-Hellman parameters file + +In all likelihood, the keys for your own OpenVPN server are named differently. We now need to copy all files but the ca.key over to the /etc/openvpn directory: + + root@delta:/etc/openvpn/easy-rsa# cd keys + root@delta:/etc/openvpn/easy-rsa/keys# cp ca.crt delta.crt delta.key dh2048.pem /etc/openvpn + root@delta:/etc/openvpn/easy-rsa/keys# cd .. + root@delta:/etc/openvpn/easy-rsa# + +### Step 05 -- Certificates and private keys for the OpenVPN clients ### + +Let’s assume we’d like to connect to the OpenVPN server from our laptop. That’s actually a very common scenario and in order to be able to do so we first need to generate a certificate as well as a private key for the client, i.e. our laptop. There’s a script for that and it lives in the /etc/openvpn/easy-rsa directory: + + root@delta:/etc/openvpn/easy-rsa# source vars + NOTE: If you run ./clean-all, I will be doing a rm -rf on /etc/openvpn/easy-rsa/keys + root@delta:/etc/openvpn/easy-rsa# ./build-key laptop + Generating a 1024 bit RSA private key + .......................................++++++ + ...................................................................................................++++++ + writing new private key to 'laptop.key' + ----- + You are about to be asked to enter information that will be incorporated + into your certificate request. + What you are about to enter is what is called a Distinguished Name or a DN. + There are quite a few fields but you can leave some blank + For some fields there will be a default value, + If you enter '.', the field will be left blank. + ----- + Country Name (2 letter code) [GR]: + State or Province Name (full name) [Central Macedonia]: + Locality Name (eg, city) [Thessaloniki]: + Organization Name (eg, company) [Parabing Creations]: + Organizational Unit Name (eg, section) [Parabing]: + Common Name (eg, your name or your server's hostname) [laptop]: + Name [VPNsRUS]: + Email Address [nobody@parabing.com]: + + Please enter the following 'extra' attributes + to be sent with your certificate request + A challenge password []: + An optional company name []: + Using configuration from /etc/openvpn/easy-rsa/openssl-1.0.0.cnf + Check that the request matches the signature + Signature ok + The Subject's Distinguished Name is as follows + countryName :PRINTABLE:'GR' + stateOrProvinceName :PRINTABLE:'Central Macedonia' + localityName :PRINTABLE:'Thessaloniki' + organizationName :PRINTABLE:'Parabing Creations' + organizationalUnitName:PRINTABLE:'Parabing' + commonName :PRINTABLE:'laptop' + name :PRINTABLE:'VPNsRUS' + emailAddress :IA5STRING:'nobody@parabing.com' + Certificate is to be certified until Apr 7 18:00:51 2024 GMT (3650 days) + Sign the certificate? [y/n]:y + + 1 out of 1 certificate requests certified, commit? [y/n]y + Write out database with 1 new entries + Data Base Updated + root@delta:/etc/openvpn/easy-rsa# + +The base name we chose for the keys was “laptop”, so after the build-key finished we got keys/laptop.crt (certificate) and keys/laptop.key (private key). Those two keys for the particular client along with the CA’s certificate file go together, and it’s a good idea to copy them to a directory where our user (sub0) has full access to. We can, for example, create a new directory in the user’s home directory and copy those three files there: + + root@delta:/etc/openvpn/easy-rsa# mkdir /home/sub0/ovpn-client + root@delta:/etc/openvpn/easy-rsa# cd keys + root@delta:/etc/openvpn/easy-rsa/keys# cp ca.crt laptop.crt laptop.key /home/sub0/ovpn-client + root@delta:/etc/openvpn/easy-rsa/keys# chown -R sub0:sub0 /home/sub0/ovpn-client + root@delta:/etc/openvpn/easy-rsa/keys# cd .. + root@delta:/etc/openvpn/easy-rsa# + +The directory ovpn-client must be securely copied to our laptop. We are allowed to distribute those three files to more than one clients, as long as they are all ours. Of course, should we need a different certificate-private key couple, we run the build-key script again. + +### Step 06 -- OpenVPN server configuration ### + +In a little while our OpenVPN server will be up and running. But first, there are some configuration changes that need to be made. There’s a sample configuration file in /usr/share/doc/openvpn/examples/sample-config-files which is excellent for our setup. That file is named server.conf.gz: + + root@delta:/etc/openvpn/easy-rsa# cd /etc/openvpn + root@delta:/etc/openvpn# cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz . + root@delta:/etc/openvpn# gunzip -d server.conf.gz + root@delta:/etc/openvpn# mv server.conf delta.conf + root@delta:/etc/openvpn# + +As you can see, we copied server.conf.gz into the /etc/openvpn directory, uncompressed it and renamed it to delta.conf. You may choose any name you like for your OpenVPN server’s configuration file, as long as it has the “.conf” extension. Whatever the base name, we now open the configuration file with nano: + + root@delta:/etc/openvpn# nano delta.conf + +Here are the changes and additions we should make. + +- First, we locate the lines + + cert server.crt + key server.key + +and make sure they reflect the names of our OpenVPN server’s certificate and private key. In our case, those lines were changed into + + cert delta.crt + key delta.key + +- We locate the line + + dh dh1024.pem + +and replace “1024″ with “2048″: + + dh dh2048.pem + +- At the end of the configuration file we add the following two lines: + + push "redirect-gateway def1" + push "dhcp-option DNS 10.8.0.1" + +Those last two lines instruct the clients to use OpenVPN as the default gateway to the Internet, and also use 10.8.0.1 as the server to deal with DNS requests. Notice that 10.8.0.1 is the IP address of the tunnel network interface OpenVPN automatically creates upon startup. If the clients were to use any other server for name resolution, then we would have a situation in which all DNS requests were served from a possibly untrustworthy server. To avoid such DNS leaks, we instruct all OpenVPN clients to use 10.8.0.1 as the DNS server. + +We start our OpenVPN server like this: + + root@delta:/etc/openvpn# service openvpn start + +By default, OpenVPN listens for connections on port 1194/UDP. One way to see that is with the netstat tool: + + root@delta:/etc/openvpn# netstat -anup + Active Internet connections (servers and established) + Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name + udp 0 0 0.0.0.0:54149 0.0.0.0:* 555/dhclient + udp 0 0 0.0.0.0:1194 0.0.0.0:* 3024/openvpn + udp 0 0 0.0.0.0:53 0.0.0.0:* 2756/dnsmasq + udp 0 0 0.0.0.0:68 0.0.0.0:* 555/dhclient + udp6 0 0 :::60622 :::* 555/dhclient + udp6 0 0 :::53 :::* 2756/dnsmasq + +All is well, though we have no properly configured DNS server for the clients yet. + +### Step 07 -- A DNS service for OpenVPN clients ### + +That’s why we’ve installed dnsmasq for. We open up its configuration file + + root@delta:/etc/openvpn# nano /etc/dnsmasq.conf + +locate this line + + #listen-address= + +and change it into the following one: + + listen-address=127.0.0.1, 10.8.0.1 + +We also locate this line + + #bind-interfaces + +and delete the hash character on the left: + +bind-interfaces + +To make dnsmasq take these changes into account, we just restart the service: + + root@delta:/etc/openvpn# service dnsmasq restart + * Restarting DNS forwarder and DHCP server dnsmasq [ OK ] + root@delta:/etc/openvpn# + +As it is now, dnsmasq listens for DNS requests from the loopback (lo) and also from the tunnel (tun0) interface. The output of netstat confirms that: + + root@delta:/etc/openvpn# netstat -anup + Active Internet connections (servers and established) + Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name + udp 0 0 0.0.0.0:57219 0.0.0.0:* 638/dhclient + udp 0 0 0.0.0.0:1194 0.0.0.0:* 911/openvpn + udp 0 0 127.0.0.1:53 0.0.0.0:* 1385/dnsmasq + udp 0 0 10.8.0.1:53 0.0.0.0:* 1385/dnsmasq + udp 0 0 0.0.0.0:68 0.0.0.0:* 638/dhclient + udp6 0 0 :::39148 :::* 638/dhclient + +### Step 08 -- Router functionality ### + +We want the VM/box our OpenVPN server runs on to behave like a router, and that means that IP forwarding must be enabled. To enable it right now, from the root account we just type + + root@delta:/etc/openvpn# echo "1" > /proc/sys/net/ipv4/ip_forward + +To make this setting persistent across reboots we open up /etc/sysctl.conf + + root@delta:/etc/openvpn# nano /etc/sysctl.conf + +locate the line + + #net.ipv4.ip_forward=1 + +and remove the hash character on the left: + + net.ipv4.ip_forward=1 + +There are also some iptables-related rules we should activate: + + root@delta:/etc/openvpn# iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT + root@delta:/etc/openvpn# iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT + root@delta:/etc/openvpn# iptables -A FORWARD -j REJECT + root@delta:/etc/openvpn# iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE + root@delta:/etc/openvpn# + +And of course we want these rules activated every time Ubuntu boots up, so we add them inside /etc/rc.local: + + #!/bin/sh -e + # + # rc.local + # + # This script is executed at the end of each multiuser runlevel. + # Make sure that the script will "exit 0" on success or any other + # value on error. + # + # In order to enable or disable this script just change the execution + # bits. + # + # By default this script does nothing. + + iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT + iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT + iptables -A FORWARD -j REJECT + iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE + + service dnsmasq restart + + exit 0 + +Please notice the line before the last one: + +service dnsmasq restart + +> This is crucial: During system startup dnsmasq tries to come up before OpenVPN does. But without OpenVPN there is no tunnel interface (tun0) present so naturally dnsmasq fails. A bit later, when /etc/rc.local is read the tun0 interface is present, so at this point we restart dnsmasq and everything is as it's supposed to be. + +### Step 09 -- Client configuration ### + +In Step 05 we created the directory ovpn-client inside our user’s home directory (/home/sub0, in our example). In there we have the CA certificate plus the client certificate and private key. There’s only one file missing and that’s the configuration file for the client. A sample file we can use is inside /usr/share/doc/openvpn/examples/sample-config-files: + + root@delta:/etc/openvpn# exit + exit + sub0@delta:~$ cd ~/ovpn-client + sub0@delta:~/ovpn-client$ cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf . + sub0@delta:~/ovpn-client$ + +We open up client.conf for editing and immediately locate the following line: + + remote my-server-1 1194 + +This “my-server-1″ string is a placeholder and we are now going to replace it for our server’s public domain name or public IP. If we do have a public domain name already assigned to the server, then there’s nothing more to do than put it in place of my-server-1. Things get a tiny bit more involved if there’s no public domain name for our server. What’s the public IP for it? One way to find out is by typing the following: + + sub0@delta:~/ovpn-client$ curl ipecho.net/plain ; echo + +(If instead of a numeric IP address you get an error, just wait a few seconds and try again.) So now we know our server’s public IP, but is it static or dynamic? Well, if we’re dealing with a server at home or even at the office, chances are it has a dynamic IP address. In that case it is advisable to use a free dynamic DNS service, such as the one provided by http://www.noip.com. In the case of NoIP, assuming we have chosen the free domain dnsalias.net then we may end up with a line like this + + remote ovpn.dnsalias.net 1194 + +where “ovpn” is the hostname we’ve given to the server. On the other hand, if our server is hosted in the cloud then it probably has a static public IP address. In that case, the remote directive inside client.conf will look like the following: + + remote 1.2.3.4 1194 + +There are two more lines we need to modify: + + cert client.crt + key client.key + +In our case, the certificate and private key files for the client are named laptop.crt and laptop.key respectively, so our client.conf contains these two lines: + + cert laptop.crt + key laptop.key + +After making sure the changes to client.conf are saved, we need to securely transfer the whole ovpn-client directory to the client. One way to do so is by using the scp command (secure copy or copy over SSH). An alternative is provided by the excellent and free FileZilla, which supports FTP over SSH connections (SFTP). + +### Step 10 -- Connecting and testing ### + +![](http://parabing.com/assets/uploads/2014/06/01-Firewall.png) + + +So how do we actually connect to the remote OpenVPN server? It all depends on the type of the device we have in hand and of course on the operating system is runs. In a bit we are going to examine the cases of four different OS families — or OS categories, if you will: Linux, Windows, OS X and iOS/Android. Note though that no matter the device or the OS, for the connection to be successful we need to be outside of the OpenVPN server’s local network. In addition, if there’s a firewall in front of the server –and it probably is– then we ought to put a new rule in place which essentially states something like this: + +*Redirect all incoming UDP packets for port 1194 to port 1194/UDP of the server’s public-facing network interface.* + +That’s some simple firewall rule, don’t you think? And without further ado, let’s establish our first connection to the fabulous OpenVPN server of ours. + +**Linux**. All we need is the openvpn package installed. One way to connect to the remote OpenVPN server is to fire up a terminal, change to the ovpn-client directory and from the root user account –or with the assistance of sudo– type something like this: + + /usr/sbin/openvpn --config client.conf + +Anytime we want to terminate the connection we just hit [CTRL+C]. + +**Windows**. A free OpenVPN client is the so called [OpenVPN Desktop Client][3]. The configuration file client.conf must be renamed to client.ovpn and that’s the file we should give to the OpenVPN Desktop Client. The application will read client.ovpn and create a new connection profile for the OpenVPN server. + +![](http://parabing.com/assets/uploads/2014/06/02-Connected.jpg) + +**OS X**. A free OpenVPN client for OS X is [tunnelblick][4]. There is also [Viscosity][5] which is commercial and happens to be our favorite. Viscosity will read client.conf and create a new connection profile for the remote server. + +iOS/Android. An excellent choice is OpenVPN connect. It is free of charge and available from the [App Store][6] as well as the Google [Play store][7]. + +Regardless of the computing platform, sometimes we’d like to check if we’re actually using the OpenVPN server we think we’re using. One way to do that is by following this simple 4-step procedure: + +Prior to connecting to the OpenVPN server we… + +- visit a site such as [whatip.com][8] and take note of our public IP +- visit [dnsleaktest.com][10, perform the standard test, take note of the name servers we’re using + +![](http://parabing.com/assets/uploads/2014/06/03-DNS.png) + +After connecting to the OpenVPN server we repeat the above two steps. If we get two different public IPs, this means we do go out on the net through the remote OpenVPN server. In addition, if we get two different sets of name servers, then there are no DNS leaks. + +### Final thoughts ### + +I use three different OpenVPN servers, all custom-made. One of them runs on the pfSense router at my home office in Thessaloniki, Greece. I use this server when I’m out of office and want secure access to the home LAN. The other two OpenVPN servers are hosted on two different VPSes, one in Reykjavik, Iceland, and the other in New Jersey, USA. Whenever I’m out and about and feel like using a random WiFi hotspot, I don’t even have to think of the security implications: I simply connect to the Reykjavik server and start surfing the web normally. There are also some times when I want to casually check out a service which is geographically restricted to the US. In these not-so-common cases the New Jersey server comes in handy, for when I connect to it I get a public IP from the U, S of A and hence access to that otherwise restricted service. It is worth noting that some service providers maintain blacklists with numerous well-known VPN companies. And that’s *exactly* one of the advantages of setting up your own OpenVPN server on a VPS provider of your choosing: It’s unlikely that this provider is blacklisted. + +No matter where the physical location of your server is, OpenVPN ensures that the traffic flow between the client and the server is strongly encrypted. What happens to the traffic leaving the OpenVPN server is another story. Depending on the application-layer protocol it may still be encrypted, but it could be unencrypted as well. So unless you have absolute control of the OpenVPN server and of the local network it belongs to, you cannot fully trust the administrator at the other end. The moral of this is apparent: If you really care about your privacy, then you should keep in mind that your own behavior may indeed undermine it. + +One example will hopefully get the point across. You have a well configured OpenVPN server in the cloud. You use any random WiFi hotspot anytime you feel like it and without the slightest bit of worry, thanks to that heroic OpenVPN server. Then you fire up your favorite mail client to get your email from this good, old mail server which still uses plain SMTP. Guess what? Your username and password leave the OpenVPN server in plain text, i.e. unencrypted. At the same time a bored administrator in the vicinity of the OpenVPN server could be easily sniffing-out your credentials and storing them in their ever-growing list named “random happy people.txt”. + +So what do you do? Simple. You continue using your OpenVPN server, but refrain from using applications which talk old and/or insecure protocols. + +Enjoy your brand new OpenVPN server! + +-------------------------------------------------------------------------------- + +via: http://parabing.com/2014/06/openvpn-on-ubuntu/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://en.wikipedia.org/wiki/Openvpn +[2]:http://www.ubuntu.com/server +[3]:http://swupdate.openvpn.net/downloads/openvpn-client.msi +[4]:https://code.google.com/p/tunnelblick +[5]:https://www.sparklabs.com/viscosity +[6]:https://itunes.apple.com/us/app/openvpn-connect/id590379981?mt=8 +[7]:https://play.google.com/store/apps/details?id=net.openvpn.openvpn +[8]:http://www.whatip.com/ +[9]:https://dnsleaktest.com/ \ No newline at end of file From a9bb0a61c861555ddddbe220ff2f4439596cc7d3 Mon Sep 17 00:00:00 2001 From: JonathanKang Date: Tue, 1 Jul 2014 18:08:20 +0800 Subject: [PATCH 33/56] JonathanKang is translating --- ...w To Add Multiple Timezones In Ubuntu 14.04 [Quick Tip].md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sources/tech/20140701 How To Add Multiple Timezones In Ubuntu 14.04 [Quick Tip].md b/sources/tech/20140701 How To Add Multiple Timezones In Ubuntu 14.04 [Quick Tip].md index 32ffebe121..967702ffc9 100644 --- a/sources/tech/20140701 How To Add Multiple Timezones In Ubuntu 14.04 [Quick Tip].md +++ b/sources/tech/20140701 How To Add Multiple Timezones In Ubuntu 14.04 [Quick Tip].md @@ -1,3 +1,5 @@ +JonathanKang is translating + How To Add Multiple Timezones In Ubuntu 14.04 [Quick Tip] ================================================================================ If you have to deal with multiple timezones on a regular basis, you would definitely appreciate if your desktop clock could show multiple timezones. As an expat, I have to keep the track of time in both France and India. In Ubuntu, you can easily change the settings to add multiple timezones. @@ -39,4 +41,4 @@ via: http://itsfoss.com/add-multiple-timezones-ubuntu-1404/ 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 [g]:https://plus.google.com/u/0/110180944531110746460 -[t]:https://twitter.com/abhishek_pc \ No newline at end of file +[t]:https://twitter.com/abhishek_pc From 2a2b3ea21a811af4089ab6f3721b67b0406ee0b1 Mon Sep 17 00:00:00 2001 From: JonathanKang Date: Tue, 1 Jul 2014 18:41:02 +0800 Subject: [PATCH 34/56] translated --- ...e Timezones In Ubuntu 14.04 [Quick Tip].md | 44 ------------------- ...e Timezones In Ubuntu 14.04 [Quick Tip].md | 42 ++++++++++++++++++ 2 files changed, 42 insertions(+), 44 deletions(-) delete mode 100644 sources/tech/20140701 How To Add Multiple Timezones In Ubuntu 14.04 [Quick Tip].md create mode 100644 translated/tech/20140701 How To Add Multiple Timezones In Ubuntu 14.04 [Quick Tip].md diff --git a/sources/tech/20140701 How To Add Multiple Timezones In Ubuntu 14.04 [Quick Tip].md b/sources/tech/20140701 How To Add Multiple Timezones In Ubuntu 14.04 [Quick Tip].md deleted file mode 100644 index 967702ffc9..0000000000 --- a/sources/tech/20140701 How To Add Multiple Timezones In Ubuntu 14.04 [Quick Tip].md +++ /dev/null @@ -1,44 +0,0 @@ -JonathanKang is translating - -How To Add Multiple Timezones In Ubuntu 14.04 [Quick Tip] -================================================================================ -If you have to deal with multiple timezones on a regular basis, you would definitely appreciate if your desktop clock could show multiple timezones. As an expat, I have to keep the track of time in both France and India. In Ubuntu, you can easily change the settings to add multiple timezones. - -In this quick tip, we shall see **how to add additional timezone in Ubuntu 14.04**. - -### Add multiple timezones in Ubuntu 14.04 ### - -Go to System Settings (press Windows key and search for system settings in Unity Dash) and look for Time & Date. - -In here, go to **Clock** tab and check the **Time in other locations** box. After that click on **Choose locations** button. - -![Add multiple timezones in Ubuntu](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/06/Timezone_Ubuntu.jpeg) - -It will open a box where you can **type a location** of your choice and a drop down will appear with matching locations. Choose the one you want and **click on the plus (+) sign** to add it. - -![Adding timezone in Ubuntu](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/06/Add_Timezone_Ubuntu.png) - -Once you have done this, you can see various timezone added in the clock. - -![multiple timezone displayed in Ubuntu 14.04](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/06/Multiple_Timezones_display_Ubuntu.png) - -Enjoy Ubuntu across timezones :) - ----------- - -![](http://0.gravatar.com/avatar/20749c268f5d3e4d2c785499eb6a17c0?s=80&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D80&r=G) - -#### About Abhishek #### - -I am Abhishek Prakash, 'creator' of It's F.O.S.S. I have a Masters in Communication System Engineering. I am an avid Linux lover and Open Source enthusiast. I use Ubuntu and believe in sharing knowledge. Apart from Linux, I love classic detective mystery. Huge fan of Agatha Christie work. Feel free to circle me on [Google Plus][g] and [Follow @abhishek_pc][t] - --------------------------------------------------------------------------------- - -via: http://itsfoss.com/add-multiple-timezones-ubuntu-1404/ - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[g]:https://plus.google.com/u/0/110180944531110746460 -[t]:https://twitter.com/abhishek_pc diff --git a/translated/tech/20140701 How To Add Multiple Timezones In Ubuntu 14.04 [Quick Tip].md b/translated/tech/20140701 How To Add Multiple Timezones In Ubuntu 14.04 [Quick Tip].md new file mode 100644 index 0000000000..7315301b06 --- /dev/null +++ b/translated/tech/20140701 How To Add Multiple Timezones In Ubuntu 14.04 [Quick Tip].md @@ -0,0 +1,42 @@ +如何在Ubuntu 14.04中添加多时区时间 [小技巧] +================================================================================ +如果你需要和多时区时间打交道的话,你一定希望你的电脑时钟可以显示多个时区的时间。作为一个移居国外的人,我需要关注法国和印度的时间。在Ubuntu系统中,你可以进行简易的设置来添加多时区时间。 + +在这次的使用技巧中,我们会了解到 **如何在Ubuntu 14.04系统中添加多时区时间**。 + +### 在Ubuntu 14.04系统中添加多时区时间 ### + +打开系统设置(按下标有微软徽标的按键,在Dash中搜索“系统设置”),进入”时间&日期“选项。 + +接下来,进入**时钟**标签页,找到**其他时区时间**选项,然后点击**选择地区**按钮。 + +![Add multiple timezones in Ubuntu](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/06/Timezone_Ubuntu.jpeg) + +在新打开的窗口中,你可以**输入一个地区**,之后相应的结果会在下面显示出来。选择你想添加的地区,然后**点击下面的加号标志(+)**来添加。 + +![Adding timezone in Ubuntu](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/06/Add_Timezone_Ubuntu.png) + +完成了这些工作之后,你就可以在系统时钟处看到其他地区的时间了。 + +![multiple timezone displayed in Ubuntu 14.04](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/06/Multiple_Timezones_display_Ubuntu.png) + +好好的感受Ubuntu多时区时钟给你带来的便捷吧。:) + +---------- + +![](http://0.gravatar.com/avatar/20749c268f5d3e4d2c785499eb6a17c0?s=80&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D80&r=G) + +#### 关于 Abhishek #### + +我叫Abhishek Prakash,是It's F.O.S.S的创始人。我获得了通信系统工程硕士学位。我是一个狂野的Linux爱好者和开源痴迷者。我在使用Ubuntu系统并且希望和大家分享知识和经验。出了Linux,我还很喜欢经典侦探悬疑电影。我是阿加莎-克里斯蒂的超级粉丝。你可以在[Google Plus][g]上添加我到你的好友圈,也可以[在twitter上关注 @abhishek_pc][t]。 + +-------------------------------------------------------------------------------- + +via: http://itsfoss.com/add-multiple-timezones-ubuntu-1404/ + +译者:[JonathanKang](https://github.com/JonathanKang) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[g]:https://plus.google.com/u/0/110180944531110746460 +[t]:https://twitter.com/abhishek_pc From 794c63dc2f785cd40243e30de919b01bcc6c7812 Mon Sep 17 00:00:00 2001 From: tinyeyeser Date: Tue, 1 Jul 2014 21:57:24 +0800 Subject: [PATCH 35/56] =?UTF-8?q?=E7=BF=BB=E8=AF=91=E4=B8=AD=20by=E5=B0=8F?= =?UTF-8?q?=E7=9C=BC=E5=84=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...0140620 How Many Languages Do Developers Need To Know.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/sources/talk/20140620 How Many Languages Do Developers Need To Know.md b/sources/talk/20140620 How Many Languages Do Developers Need To Know.md index a4eb9c11eb..e75575254b 100644 --- a/sources/talk/20140620 How Many Languages Do Developers Need To Know.md +++ b/sources/talk/20140620 How Many Languages Do Developers Need To Know.md @@ -1,3 +1,5 @@ +翻译中 by小眼儿 + How Many Languages Do Developers Need To Know? ================================================================================ ![](http://readwrite.com/files/styles/1400_0/public/fields/code%20example%20Flickr%20Ruiwen%20Chua.jpg) @@ -69,7 +71,7 @@ Lead image by [Flickr user Ruiwen Chua][11], CC 2.0 via: http://readwrite.com/2014/06/17/apple-swift-facebook-hack-google-dart -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) +译者:[Mr小眼儿](https://github.com/tinyeyeser) 校对:[校对者ID](https://github.com/校对者ID) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 @@ -83,4 +85,4 @@ via: http://readwrite.com/2014/06/17/apple-swift-facebook-hack-google-dart [8]:http://readwrite.com/2014/03/20/facebook-new-programming-language-hack [9]:http://en.wikipedia.org/wiki/PHP [10]:http://blog.erratasec.com/2014/06/why-it-had-to-be-swift.html#.U58BJI1dXtA -[11]:https://www.flickr.com/photos/ruiwen/3260095534 \ No newline at end of file +[11]:https://www.flickr.com/photos/ruiwen/3260095534 From 2e8a4b89321e5a1b70e0818574aa75b1888f810f Mon Sep 17 00:00:00 2001 From: Xiangbin Ma Date: Tue, 1 Jul 2014 23:20:29 +0800 Subject: [PATCH 36/56] Update 20140609 Out in the Open--The Little-Known Open Source OS That Rules the Internet of Things.md --- ...-Known Open Source OS That Rules the Internet of Things.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sources/talk/20140609 Out in the Open--The Little-Known Open Source OS That Rules the Internet of Things.md b/sources/talk/20140609 Out in the Open--The Little-Known Open Source OS That Rules the Internet of Things.md index 22e05f9384..3f70d6cd07 100644 --- a/sources/talk/20140609 Out in the Open--The Little-Known Open Source OS That Rules the Internet of Things.md +++ b/sources/talk/20140609 Out in the Open--The Little-Known Open Source OS That Rules the Internet of Things.md @@ -1,4 +1,4 @@ -Out in the Open: The Little-Known Open Source OS That Rules the Internet of Things +Translating by toknow-gh Out in the Open: The Little-Known Open Source OS That Rules the Internet of Things ================================================================================ ![](http://www.wired.com/wp-content/uploads/2014/06/Contiki-ipv6-rpl-cooja-simulation.png) Image: Adnk/[Wikipedia][1] @@ -46,4 +46,4 @@ via: http://www.wired.com/2014/06/contiki/ [8]:http://www.wired.com/2014/01/googles-3-billion-nest-buy-finally-make-internet-things-real-us/ [9]:http://lifx.co/ [10]:http://www.tado.com/de-en/ -[11]:http://www.thingsquare.com/ \ No newline at end of file +[11]:http://www.thingsquare.com/ From e3992df25a56db4552939adf74b0521ac0740aca Mon Sep 17 00:00:00 2001 From: linuhap Date: Wed, 2 Jul 2014 11:24:00 +0800 Subject: [PATCH 37/56] translated --- ...e Best Linux Distribution for New Users.md | 158 ----------------- ...e Best Linux Distribution for New Users.md | 159 ++++++++++++++++++ 2 files changed, 159 insertions(+), 158 deletions(-) delete mode 100644 sources/talk/20140610 The Best Linux Distribution for New Users.md create mode 100644 translated/talk/20140610 The Best Linux Distribution for New Users.md diff --git a/sources/talk/20140610 The Best Linux Distribution for New Users.md b/sources/talk/20140610 The Best Linux Distribution for New Users.md deleted file mode 100644 index e9764674a8..0000000000 --- a/sources/talk/20140610 The Best Linux Distribution for New Users.md +++ /dev/null @@ -1,158 +0,0 @@ -The Best Linux Distribution for New Users -================================================================================ -This is a debate that most certainly brings out the beast in many a Linux user. The argument doesn't generally boil down to which distribution is truly best suited for new users, but which distribution is favored by those in the debate. If we set our personal preferences aside, a clearer picture can arise. But even that clarity can quickly get obscured by the needs and desires of the new users. Given that, I decided to take a different approach to finding the “best distro for new users." My criteria for best distribution must not only be easy to use, but also must appeal to a more modern design aesthetic brought about by the ever-growing thrust of the mobile interface metaphor. - -For the purposes of this examination, to be included in the short list a distribution must: - -- Be incredibly user-friendly -- Include, out of the box, all common apps -- Include some form of an app store -- Offer a modern user interface. - -Let me explain each criteria. - -### User-friendliness ### - -This is such a hotly debatable topic. But the truth of the matter is – a new user must be able to pick up a flavor of Linux and just start using it, with little to no explaining. If too much explanation must be given, then the distribution is not user friendly. I hate to be that guy, but nearly any user can sit in front of a Windows 7 or OS X desktop and start using it with almost zero coaching. That is what every Linux desktop should shoot for. - -### Common apps ### - -Users should not have to install the necessities out of the box. Period. And just what are the necessities? The list grows shorter every year. Currently, the list of must-have apps are: - -- Web browser: Either Chrome or Firefox (sorry, all other browsers need not apply) -- Email client: Thunderbird is the obvious choice -- Office Suite: LibreOffice. End of story -- Music player: Play local files and connect to streaming services (such as Spotify). - -That's the short list of apps nearly every user depends upon. - -### App store ### - -Thanks to that ever-growing dependency on mobile devices, users have grown accustomed to app stores. Linux has had these for quite some time (Synaptic being one of the oldest). Without a well thought-out app store, users will struggle with adding software in the Linux environment. This is, without a doubt, crucial. - -### Modern interface ### - -I've mentioned the mobile landscape a number of times already. Thanks to iOS and Android, users have grown fond of the modern UI. The desktop needs to follow suit and draw the attention of users with a unique, modern, yet easy-to-use interface. The old metaphor is no longer as effective in a multi-touch-friendly, mobile world. -Top three distros - -With the criteria in place, which distributions meet (or exceed) our needs? First, let's examine the top three candidates. Each of the following meets (or exceeds) the criteria. - -#### Ubuntu #### - -[Ubuntu Linux][1] has long reigned the king of user-friendly Linux. Out of the box, it's a challenge to find a desktop (Unity) that is more engaging and easy to use... even for those unfamiliar to the platform. The desktop layout, although different, is logical and intuitive. With the addition of one of the single most powerful search tools of any desktop environment, Ubuntu Unity should be considered a crowning achievement among the Linux faithful. - -#### Linux Mint #### - -If there is a distribution set to usurp the crown from the king, it is [Linux Mint][2]. Linux Mint takes a more standard approach to the desktop, but layers just enough eye candy and variation to make it stand out from the long-in-the-tooth desktop metaphor. Linux Mint is based on Ubuntu, so it does benefit from the stability and reliability found in its big brother. - -#### Linux Deepin #### - -New to the user-friendly list is [Linux Deepin][3]. This relatively new distribution hails from China and should be making some serious waves. Why? Because it takes the Linux desktop and turns it into a thing of artistic beauty; while at the same time retaining a high level of user-friendliness. When the newest iteration of this distribution is released, I expect big things. Linux Deepin takes the GNOME 3 desktop and retools it into something completely different and completely marvelous. - -### Scoring the Distros ### - -With the top contenders listed, let's compare each to our criteria and rank each. Scoring for the distributions is as such: For each criteria, the distributions are ranked first to last (first getting 1 point, last getting 3 points). In the end, all scores are totaled to determine the winner -- lowest score wins. - -#### User-friendliness #### - -This is probably the tightest of categories and hardest to judge. Each distribution is tops in user-friendliness in different ways. In the end, I'd rank the top three: - -1. Linux Mint - -2. Ubuntu Linux - -3. Linux Deepin - -Why? Mint gains a slight edge simply because it still holds to the old metaphor of start menu, task bar, and desktop icons. The margin of victory is incredibly slim though, as both Ubuntu and Linux Deepin require next to zero learning curve – even for the yet-to-be-initiated. - -#### Common apps #### - -The only reason this category is hard to judge is because each distribution includes all of the necessary applications. Although Linux Deepin currently offers Kingsoft Office (one of the finest mobile office suite solutions), the plans are to default to LibreOffice in the 2014 release. - -One of my issues with the common apps falls into that of audio players. Though I stream a lot of music (using the Spotify client), when I play music on my local drive, I always use Clementine. The default players are: - -- Ubuntu: Rhythmbox -- Linux Mint: Banshee -- Linux Deepen: DMusic. - -Of the three, Banshee (Figure 1) offers the most features, DMusic (Figure 2) offers the best interface, and (surprisingly enough) Rhythmbox (Figure 3) is, by far, the least reliable. - -![](http://www.linux.com/images/stories/41373/banshee.png) - -banshee - -![](http://www.linux.com/images/stories/41373/dmusic.png) - -dmusic - -![](http://www.linux.com/images/stories/41373/rhythmbox.png) - -rhythmbox - -So, how do they score? Like so: - -1. Linux Mint - -2. Ubuntu Linux - -3. Linux Deepin - -#### App store #### - -This category cannot go without being addressed. Why? Because the app store can easily make or break a Linux distribution for a new user. There will always be apps needed and no new user wants to jump through the hoops of learning the command line. Each distribution has their own take on the app store. - -- Ubuntu: Ubuntu Software Center -- Mint: Software Manager -- Linux Deepin: Deepin Software Center - -It should be said, that each of these tools is based on the Ubuntu Software Center. What is odd about this is that it is the Ubuntu Software Center that lands squarely on the bottom. The primary reason for this is the Ubuntu Software Center is very slow – even on an incredibly powerful machine. - -I would order the app stores as such: - -1. Linux Deepin - -2. Linux Mint - -3. Ubuntu Linux - -Each of the app stores functions in a very similar manner. The reason Linux Deepin gets the top bill is twofold: The interface is easier to navigate and the application opens far faster than either the Ubuntu Software Manager or the Mint Software Manager. - -#### Modern interface #### - -This is the category in which Linux Mint falls way, way behind. Even though it does offer a bit of eye candy and a more shallow learning curve, Linux Mint still suffers from what is, by comparison, a very outdated desktop. Even on powerful hardware (with solid graphics), Linux Mint still looks like it could very easily have been transported from the late 1990s. To that end, we must look to either Ubuntu Linux or Linux Deepin to bring us into the future. The winner is: - -1. Linux Deepin - -2. Ubuntu Linux - -3. Linux Mint - -What Linux Deepin does is use GNOME 3 to create an amalgam of GNOME and OSX that works so beautifully, you think you're dealing with a piece of interactive art. - -### The overall winner ### - -Although this is very rudimentary, the order of our best Linux distro for new users would be: - -1. Linux Mint with a collective score of 7 - -2. Linux Deepin with a collective score of 8 - -3. Ubuntu Linux with a collective score of 9 - -If you're wondering about the 'writer opinion' of this piece, know this: I have used Ubuntu Linux for years (and still do). I have recently been quoted as saying “If there's a Linux distro that will sway me from Ubuntu, it's Linux Deepin.” Although I appreciate Linux Mint for what it is, I only use it for testing purposes. With that said, Linux Mint is the clear winner, when it comes to best Linux distribution for new users. - -Here's the real truth of this matter – you can't go wrong with any of these Linux desktops. They each shine in their own right. If you're looking for a true beauty, go with Linux Deepin. If you want a combination of beauty and ease of use, go with Ubuntu Linux. If you just want simplicity and you don't care about eye candy, go with Linux Mint. No matter which way you go, it's a win-win-win scenario. - -What do you think? How would you rank the three chosen desktops? Or, would you write in a completely different Linux distribution for best in show for the new users (and why)? - --------------------------------------------------------------------------------- - -via: http://www.linux.com/news/software/applications/775873-the-best-linux-distribution-for-new-users/ - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://www.ubuntu.com/ -[2]:http://www.linuxmint.com/ -[3]:http://www.linuxdeepin.com/index.en.html diff --git a/translated/talk/20140610 The Best Linux Distribution for New Users.md b/translated/talk/20140610 The Best Linux Distribution for New Users.md new file mode 100644 index 0000000000..1d9ab38028 --- /dev/null +++ b/translated/talk/20140610 The Best Linux Distribution for New Users.md @@ -0,0 +1,159 @@ +对新用户来说最好的Linux发行版 +================================================================================ +这个争论无疑给许多Linux用户带来了麻烦。争论不能普遍归结为哪个发行版是真正最适合新用户的,而是哪个发行版受这些争论者的喜爱。如果我们撇开个人喜爱,我们会看到更清楚的一面。但即使这样,清晰也很快会被新用户的需求和期望遮蔽。考虑到这点,我决定采取一个不同的方法来找出“对新用户来说最好的发行版”。我评判最好发行版的标准不仅是易用,而且还要呼吁由日益增长的移动界面隐喻推动带来的现代设计美学。 + +为了这次评测,发行版必须要有如下要求: + +- 非常友好 +- 包括,开箱即用,所有常用的应用程序 +- 包括某个形式的应用程序商店 +- 提供一个时尚的用户界面 + +让我解释一下各个标准 + +### 用户友好 ### + +这是一个备受争议的话题。但事实的真相是——新用户必须能够获得一种风格的Linux并开始使用,需要很少或不需要解释。如果必须很出太多解释,那么这个发行版便不是用户友好的。我不想成为那样的人,但是几乎任何用户都可以在近乎零指导的情况下坐在Windows 7或OS X桌面前并开始使用它。这是每一个Linux桌面都应当争取去做的。 + +### 常用应用程序 ### + +安装好系统后用户不应该去安装必需的程序。那么什么是必需的呢?每年列表都会变短。目前,必备的程序列表如下: + +- 网页浏览器:Chrome或者Firefox(对不起,其他的浏览器不需提供) +- 电子邮件客户端:Thunderbird是显而易见的选择。 +- Office办公套件:LibreOffice。就这样。 +- 音乐播放器:播放本地文件以及连接到流媒体服务(比如Spotify)。 + +这是几乎所有用户需要的应用程序的简表。 + +### 应用程序商店 ### + +由于移动设备需求的日益增长,用户已经习惯了应用商店。Linux有应用商店很长时间了(Synaptic是最古老的一个)。没有一个经深思熟虑做的应用商店,用户将会挣扎于在Linux环境中添加软件。毫无疑问,这一点至关重要。 + +### 时尚的界面 ### + +我已经多次提到移动设备的美化。由于iOS和Android,用户越来越喜欢时尚的界面。Linux的桌面需要进行效仿并且用独特的、时尚的和易用的界面来吸引用户注意力。旧的隐喻在多触控友好的移动世界里不再有影响力。 + +排名前三的发行版 + +以文中的标准,哪个发行版本满足了(或超过)我们的需求?首先,让我们来审查一下前三名的候选者。以下哪个满足了(或超过)标准。 + +#### Ubuntu #### + +[Ubuntu Linux][1]一直为用户友好型Linux的王者。开箱即用,寻找一个迷人和易用的桌面(Unity)是一个挑战,甚至是对于那些对平台不熟悉的人。它的桌面布局虽然与众不同,但却是合乎逻辑和很直观的。对于在桌面环境中添加一个最强大的搜索工具,在Linux中Ubuntu Unity应当获得最高成就。 + +#### Linux Mint #### + +如果认为有一个篡夺王位的发行版,那它就是[Linux Mint][2]。Linux Mint做了更多桌面的标准方法,但是图层华丽且多变使其从老旧的桌面隐喻中脱颖而出。Linux Mint基于Ubuntu,所以它得益于“老大哥”Ubuntu的稳定性和可靠性。 + +#### Linux Deepin #### + +用户友好型列表中的新成员是[Linux Deepin][3]。这个相对较新的受欢迎的发行版来自中国,而且应该扬起一些认真的浪波。为什么这样说?因为它使得Linux桌面转变为艺术美;同时也保持了高水平的用户友好性。我期待它的新版本发布将是个大事件。Linux Deepin使用的是GNOME 3桌面并将它重组得完全不同的,完全不可思议。 + +### 各发行版的比分 ### + +在最佳的竞争者名单中,我们来比较一下每一个标准和等级。每个发行版的比分如下:对于每个标准,发行版排名从高到底(第一名得一分,最后一名得三分)。最后,总分决定谁是冠军——最低得分获胜。 + +#### 用户友好性 #### + +这可能是最严密的分类和最艰难的判别。每个发行版以不同的方法在用户友好性上都各有优势。最后,我的排名是: + +1. Linux Mint + +2. Ubuntu Linux + +3. Linux Deepin + +为什么是这样呢?Mint仅有微小的优势,因为它的开始按钮,任务栏和桌面图标仍然使用旧的桌面隐喻。胜者的优势很微小,Ubuntu和Linux Deepin要求的学习曲线近乎为零——甚至是对于未使用者。 + +#### 常用的应用程序 #### + +这一类别难以判断的唯一原因是因为每个发行版都包括所有必要的应用程序。虽然Linux Deepin目前提供的是金山Office(一个最好的移动办公套件解决方案),它计划在2014发行版本中默认使用LibreOffice。 + +常用程序的我的一个问题是关于音乐播放器。虽然我在线听过很多音乐(使用Spotify客户端),但当我播放本地音乐时,总是使用Clementine。他们的默认播放器是: + +- Ubuntu: Rhythmbox +- Linux Mint: Banshee +- Linux Deepen: DMusic. + +三者中,Banshee(图1)提供了最多的功能,DMusic(图2)提供了最好的界面,(令人惊讶的)Rhythmbox(图3)目前最不稳定。 + +![](http://www.linux.com/images/stories/41373/banshee.png) + +banshee + +![](http://www.linux.com/images/stories/41373/dmusic.png) + +dmusic + +![](http://www.linux.com/images/stories/41373/rhythmbox.png) + +rhythmbox + +所以,他们得分多少?如下: + +1. Linux Mint + +2. Ubuntu Linux + +3. Linux Deepin + +#### 应用程序商店 #### + +如果不分析这部分将难进行。为什么呢?因为对于新用户应用商店可以轻易成就或是毁掉一个Linux发行版。总会有应用需求而且没有用户想经过命令行的重重考验。每个发行版都有自己的应用商店。 + +- Ubuntu: Ubuntu软件中心 +- Mint: 软件管理器 +- Linux Deepin: Deepin软件中心 + +应该说,这些工具中的每一个都是基于Ubuntu软件中心。奇怪的是Ubuntu软件中心却正好排在最底。主要原因是Ubuntu软件中心太慢了——甚至在一个非常强大的机器上。 + +我将应用商店排名设为如下: + +1. Linux Deepin + +2. Linux Mint + +3. Ubuntu Linux + +每个应用商店有非常相似的功能。Linux Deepin获得第一的原因有两个:界面易于控制而且程序开启速度远远快于Ubuntu软件中心和Mint软件管理器。 + +#### 时尚的界面 #### + +在这部分Linux Mint远远落后。尽管它提供了一个华美的界面和有很浅的学习曲线,但相比之下它仍然是一个非常过时的桌面。甚至在强大的硬件(有强大的显卡)上,Linux Mint仍然很容易被看成是来自90年代末的桌面。为了评判结果,我们必须看看是Ubuntu Linux还是Linux Deepin能带我们走进未来。胜者是: + +1. Linux Deepin + +2. Ubuntu Linux + +3. Linux Mint + +Linux Deepin使用GNOME 3来制作一个使用起来很漂亮的GNOME和OSX的混合体,你会认为你在处理一件互动的艺术品。 + +### 总冠军 ### + +虽然这是很初步的,对新用户来说最好的Linux发行版顺序应该是: + +1. Linux Mint的总得分是7 + +2. Linux Deepin的总得分是8 + +3. Ubuntu Linux的总得分是9 + +如果你想知道关于这篇文章的作者主张,要知道:我已经使用Ubuntu Linux很多年了(而且仍在用)。我最近一直在说“如果有一个Linux发行版动摇使用Ubuntu的想法,它便是Linux Deepin。”虽然我很欣赏Linux Mint,但我只是用它来进行测试。当说到对新用户最好的Linux发型版,Linux Mint是显而易见的赢家。 + +这件事真正的真相是——你在使用这些桌面中任何一个都不会错。他们都各有所长。如果你追求真正的美丽,使用Linux Deepin吧。如果你想要漂亮外观与易用结合,那就使用Ubuntu Linux。如果你只想要简单而且并不在乎漂亮的外观,那就用Linux Mint。不管你选哪一个,这都是三赢的局面。 + +你怎么认为?你会如何排这三个桌面的名次?或者,你是否会写一个不同的Linux发行版,该发行版在外表上来说对新用户最好的?(还有原因是什么?) + +-------------------------------------------------------------------------------- + +via: http://www.linux.com/news/software/applications/775873-the-best-linux-distribution-for-new-users/ + +译者:[linuhap](https://github.com/linuhap) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.ubuntu.com/ +[2]:http://www.linuxmint.com/ +[3]:http://www.linuxdeepin.com/index.en.html \ No newline at end of file From 3e17efc6e72d39a86d767512f12877058811d49f Mon Sep 17 00:00:00 2001 From: bazz2 Date: Wed, 2 Jul 2014 11:58:21 +0800 Subject: [PATCH 38/56] [bazz2-ing] Performance benchmarks--KVM vs. Xen --- sources/talk/20140624 Performance benchmarks--KVM vs. Xen.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sources/talk/20140624 Performance benchmarks--KVM vs. Xen.md b/sources/talk/20140624 Performance benchmarks--KVM vs. Xen.md index b00ff11616..f67314307a 100644 --- a/sources/talk/20140624 Performance benchmarks--KVM vs. Xen.md +++ b/sources/talk/20140624 Performance benchmarks--KVM vs. Xen.md @@ -1,3 +1,4 @@ +[bazz2 own this article] Performance benchmarks: KVM vs. Xen ================================================================================ After having some interesting discussions last week around KVM and Xen performance improvements over the past years, I decided to do a little research on my own. The last complete set of benchmarks I could find were from the [Phoronix Haswell tests in 2013][1]. There were [some other benchmarks from 2011][2] but those were hotly debated due to the Xen patches headed into kernel 3.0. @@ -91,4 +92,4 @@ via: http://major.io/2014/06/22/performance-benchmarks-kvm-vs-xen/ [6]:http://www.infoworld.com/d/virtualization/red-hat-releases-first-kvm-support-rhel-54-376 [7]:https://docs.google.com/spreadsheets/d/1kmudbOjCDUgfw76b8qP2GqNqF1ddlTOKyOjc0GmNOIE/edit?usp=sharing [8]:http://www.phoronix-test-suite.com/ -[9]:https://twitter.com/comstud/status/480785742730252288 \ No newline at end of file +[9]:https://twitter.com/comstud/status/480785742730252288 From c1343285814d5ea55888ea5d0867b5ad18971c8f Mon Sep 17 00:00:00 2001 From: DeadFire Date: Wed, 2 Jul 2014 15:16:20 +0800 Subject: [PATCH 39/56] =?UTF-8?q?20140702-1=20=E9=80=89=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ade Linux Released for Open Source Cars.md | 38 +++++++ ...2 CoreOS Linux ending the upgrade cycle.md | 49 ++++++++ ...Here Are 5 Amazing Ascii Art Generators.md | 39 +++++++ ...40702 Command Line Tuesdays--Part Three.md | 83 ++++++++++++++ ...ow to install Raspberry Pi camera board.md | 107 ++++++++++++++++++ 5 files changed, 316 insertions(+) create mode 100644 sources/news/20140702 Automotive Grade Linux Released for Open Source Cars.md create mode 100644 sources/news/20140702 CoreOS Linux ending the upgrade cycle.md create mode 100644 sources/talk/20140701 Here Are 5 Amazing Ascii Art Generators.md create mode 100644 sources/tech/20140702 Command Line Tuesdays--Part Three.md create mode 100644 sources/tech/20140702 How to install Raspberry Pi camera board.md diff --git a/sources/news/20140702 Automotive Grade Linux Released for Open Source Cars.md b/sources/news/20140702 Automotive Grade Linux Released for Open Source Cars.md new file mode 100644 index 0000000000..3e64736b69 --- /dev/null +++ b/sources/news/20140702 Automotive Grade Linux Released for Open Source Cars.md @@ -0,0 +1,38 @@ +Automotive Grade Linux Released for Open Source Cars +================================================================================ +> The Linux Foundation and its partners have released the first version of Automotive Grade Linux, the open source platform for use inside connected cars. + +![](http://thevarguy.com/site-files/thevarguy.com/files/imagecache/medium_img/uploads/2014/07/automotivelinux.jpg) + +Linux, the open source operating system, shifted gears into a relatively new ecosystem this week with the first release of [Automotive Grade Linux][1] (AGL), a Linux distribution tailored for cars in the Internet of Things age. + +AGL is a collaborative project sponsored by the [Linux Foundation][2] that brings together a host of partners from the automotive industry, communications, computing hardware, academia and other sectors. The first release of the open source operating system, which appeared June 30 and is [available][3] for free online, is based on [Tizen IVI][4], a Linux-based platform designed to provide operating system solutions for a broad range of devices, from smartphones to TVs to cars to laptops. + +In its first release, AGL provides a series of features and applications tailored for deployment in cars and other vehicles, including: + +- Home Screen +- Dashboard +- Google Maps +- HVAC +- Media Playback +- News Reader (AppCarousel) +- Audio Controls +- Bluetooth Phone +- Smart Device Link Integration + +The Linux Foundation and its partners participating in the AGL project hope the solution will help to ensure that the "connected" cars of the future use open source software to deliver the next generation of entertainment, navigation and other tools for use inside vehicles. "Openness and collaboration are key to accelerating the development of a common, standard automotive platform so the industry can more quickly achieve its vision of delivering the connected car," said Dan Cauchy, general manager of Automotive, The Linux Foundation. + +Cauchy added that the Linux Foundation expects AGL development to continue steadily following this first release, and that collaborators hope to introduce "a number of additional capabilities and features in subsequent releases." + +-------------------------------------------------------------------------------- + +via: http://thevarguy.com/open-source-application-software-companies/070114/automotive-grade-linux-released-open-source-cars + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:https://automotive.linuxfoundation.org/ +[2]:http://linuxfoundation.org/ +[3]:http://automotive.linuxfoundation.org/ +[4]:https://www.tizen.org/ \ No newline at end of file diff --git a/sources/news/20140702 CoreOS Linux ending the upgrade cycle.md b/sources/news/20140702 CoreOS Linux ending the upgrade cycle.md new file mode 100644 index 0000000000..a4c8d1ef5e --- /dev/null +++ b/sources/news/20140702 CoreOS Linux ending the upgrade cycle.md @@ -0,0 +1,49 @@ +CoreOS Linux ending the upgrade cycle +================================================================================ +> CoreOS launches commercially supported version of its Linux distribution and vows to do away with manual upgrading + +IDG News Service - Hoping to simplify life for system administrators, CoreOS has launched a commercial Linux distribution that continually updates itself, eliminating the need to perform major upgrades. + +CoreOS is offering its namesake Linux distribution as a commercial service, [starting][1] at $100 a month. + +"Businesses today can begin to think of CoreOS as an extension of their OS team, and for enterprise Linux customers this is the last migration they will ever need," said Alex Polvi, founder and CEO of CoreOS, in a statement. + +Commercial Linux subscriptions are nothing new: Both [Red Hat][2] and [Suse][3] offer commercial subscriptions for their respective distributions. + +Because the applications and libraries these Linux-based companies use are open source and freely available, the cost of the subscriptions doesn't cover the software itself, but rather pays for the updates, bug fixes, integration and technical support for when issues occur. + +CoreOS will be different from these distributions, the company asserted, in that there will be no major updates, which typically require updating all the packages in the distribution at once. Instead, updates and new features will be streamed automatically to the copy of the OS and applied as soon as they are ready. + +The service offers a dashboard, called CoreUpdate, that provides controls for designating which software packages should get updated, should the administrator not want all the packages to be updated automatically. + +CoreUpdate can manage multiple machines at once, and offers a roll-back capability should an update cause issues. + +Launched last December, CoreOS was designed to [focus][4] on an emerging use of the open-source OS kernel -- that of powering lots of cloud-based virtual servers. + +The average CoreOS instance was designed to consume only less than half of what other Linux distributions typically consume. All applications that run on the distribution run in Docker virtualized containers, so they can be started almost instantaneously. + +The distribution can be updated more easily [due to its novel use of two partitions][5]. One can contain the current version of the OS while the OS is being updated in the other, smoothing the process of upgrading a package, or the entire distribution. + +The CoreOS service can be run on-premises, or through Amazon, Google and Rackspace cloud services. + +CoreOS also announced Monday that it received $8 million in backing from the Kleiner Perkins Caulfield and Byers venture capital firm. The company has previously gotten investment from Sequoia Capital and Fuel Capital. + +---------- + +Joab Jackson covers enterprise software and general technology breaking news for The IDG News Service. Follow Joab on Twitter at [@Joab_Jackson][6]. Joab's e-mail address is [Joab_Jackson@idg.com][7] + +-------------------------------------------------------------------------------- + +via: http://www.computerworld.com/s/article/9249460/CoreOS_Linux_ending_the_upgrade_cycle?taxonomyId=122 + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:https://coreos.com/products/managed-linux/plans/ +[2]:http://www.redhat.com/about/subscription/ +[3]:https://www.suse.com/support/programs/subscriptions/ +[4]:http://www.networkworld.com/article/2177120/cloud-computing/coreos-linux-distro-lands-on-the-google-cloud-platform.html +[5]:https://coreos.com/using-coreos/updates/ +[6]:http://twitter.com/Joab_Jackson +[7]:Joab_Jackson@idg.com \ No newline at end of file diff --git a/sources/talk/20140701 Here Are 5 Amazing Ascii Art Generators.md b/sources/talk/20140701 Here Are 5 Amazing Ascii Art Generators.md new file mode 100644 index 0000000000..55315f5730 --- /dev/null +++ b/sources/talk/20140701 Here Are 5 Amazing Ascii Art Generators.md @@ -0,0 +1,39 @@ +Here Are 5 Amazing Ascii Art Generators! +================================================================================ +![](http://www.efytimes.com/admin/useradmin/photo/nin511907PM712014.jpg) + +ASCII is a very fascinating character-encoding scheme wherein codes represent text in computers, communications equipment, and other devices that use text. The next gen might call it old-school but those familiar with the concept know how unique ASCII really is. Here we have compiled a list of 5 amazing ASCII art generators for you. + +### 1.[GlassGiant ASCII Art][1] ### + +This little program converts your picture to ASCII text art - a jumble of letters, numbers and symbols that do not appear to have any significance until you step back and look at the whole picture. It has no practical purpose, other than the neat factor. + +### 2.[ASCII Art Generator][2] ### + +ASCII art is an art movement that utilises computers for presentation and consists of pictures pieced together from printable characters. All you need to do id upload your image and it will convert it to ascii art. + +### 3.[Ascii.mastervb][3] ### + +ASCII Art is created from a 7-bit ASCII characters standard. ASCII Art was popular in 70-80s. In that time, computer OS was still text based. This application can convert images to ascii really quick. + +### 4.[IMG2TXT][4] ### + +This script takes the URL of a GIF, JPG, or PNG image and converts that image into ASCII text or colored HTML. + +### 5.[picascii][5] ### + +Convert a picture into ASCII TEXT,HTML. In order to convert a picture, you just need to enter an url or select a picture from your computer (gif,jpeg,png). + +-------------------------------------------------------------------------------- + +via: http://www.efytimes.com/e1/fullnews.asp?edid=142480 + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://glassgiant.com/ascii/ +[2]:http://www.ascii-art-generator.org/ +[3]:http://ascii.mastervb.net/ +[4]:http://www.degraeve.com/img2txt.php +[5]:http://picascii.com/ \ No newline at end of file diff --git a/sources/tech/20140702 Command Line Tuesdays--Part Three.md b/sources/tech/20140702 Command Line Tuesdays--Part Three.md new file mode 100644 index 0000000000..8bf7670849 --- /dev/null +++ b/sources/tech/20140702 Command Line Tuesdays--Part Three.md @@ -0,0 +1,83 @@ +Command Line Tuesdays – Part Three +================================================================================ +Today, mr Shotts takes us on a first part of a guided tour through our file system. We’ll learn how to visit, list files within directories and we’ll learn to use some options for the first time. So let’s begin with the first command of the week. + +### ls ### + +ls is a command used to list files in a directory. It can be used in various ways. These various ways come with using a form of adding an **option** to our command. To make things clearer; You can type only ls. But, you can also add an option, which will modify your command. It can come in useful when you want to sandbox some of the information, when looking for something specific, and the command issues a very long output, you can, for example, narrow it down to only specific information. + +That’s what an option is. And formally we can write it down like this: + + command -option argument + +Command is, well, a command we write in (like pwd, ls or anything else we have learned by now). + +We already stated above the purpose of an option. But let me note it should be written exactly as it’s in the form; With a dash in front of it. So, if the option is l, you should put **-l** after the command. + +An **argument** is an object upon which the command operates (in this case, it will be directories, as we’ll learning how to navigate through them). + +So, let’s try out ls, and use it on the /etc directory in our home folder. This time, without any options. + +![](https://news.opensuse.org/wp-content/uploads/2014/06/Screenshot-30.-06.-2014-184127.png) + +There you go, a whole bunch of files. It also sorts them by colours. The blue ones are directories, the white ones are files, the green one seems like a shell script of some sort. There are more colors, as they represent different file types. + +Next, you can use the same command, but with an option -l added. Option -l will list the same files and directories, but in a long format. In case you need more information: + +![](https://news.opensuse.org/wp-content/uploads/2014/06/Screenshot-30.-06.-2014-184542.png) + +### The Long Format ### + +So, using the long format, you see much more information, and some crazy looking signs like -rw-r–r– at the beginning of all lines. Actually, here’s a scheme, representing what all of the given information actually means. + +![](https://news.opensuse.org/wp-content/uploads/2014/06/Screenshot-30.-06.-2014-184829.png) + +File Name is the name of the file. Modification time is the last time the file has been modified. Size is the size of the file in bytes. Group is the name of the group that has file permissions along with the owner, and Owner is the user who owns the file. The most important one is… + +### …File Permissions ### + +That’s the gibberish at the beginning of every line in long format. The first character is the file type. If it’s a ‘d’, it means the file’s a directory. If it’s ‘-’, it means it’s an ordinary file. The next three characters represent the read, write and execution rights of the file’s owner. The next three are the same rights of the group that also has access to the file, and the last three characters represent rights of everyone else trying to use the file. + +So for example, if we have a file which in long format displays: -rw-r–r–, it means it’s an ordinary file (the first ‘-’), the owner of the file can read and write the file, but he can’t execute it, as it’s not an executable file (the ‘rw-’ characters after the initial ‘-’), and the user group and everyone else can only read the file (you can see ‘r–’ sequence repeating twice. If the user group had ‘rwx’ instead of ‘r–’, it would mean they could read, write and execute the file). + +Next option for ls is ls -la .. – this will list all of the files, as in a usual command, hidden files are not shown. It will list all files in the parent of the working directory in long format. + +### less ### + +Less is a command which will display your text file. For example, you’re looking for text file os-release in /etc. You have succesfully found it there with ls /etc, and now you want to read it. + +You just use less /etc/os-release. + +![](https://news.opensuse.org/wp-content/uploads/2014/06/Screenshot-30.-06.-2014-190252.png) + +..and there you go. + +How do you control less? + +Easy, with your keyboard! + +less will display only one page of your text at a time. To go forward one page, you can press **Page Up, or ‘b’**. To go back one page, you can use **Page Down, or space**. Capital **G** will take you to the end of the text file, while ‘**1G**‘ will take you to the beginning of the text. **/characters** will search for characters inside the text (for example, if you write /suse, it will search for occurances of suse inside your text and mark them). n will repeat the last search you performed, and **h** will display all your options (h, as in haalp!). + +![](https://news.opensuse.org/wp-content/uploads/2014/06/halp.jpg) + +You quit less with the letter q. + +### file ### + +The file command will show what kind of file is that you’re looking for, be it ASCII text, a jpg image, a bash script etc. As we performed our exercise with /etc/os-release, let’s use it here also. + +![](https://news.opensuse.org/wp-content/uploads/2014/06/Screenshot-30.-06.-2014-191402.png) + +There you go, os-release is an ASCII text file. Please, do try it out with something else, and see the output. + +And until next time, remember to… + +…have a lot of fun! + +-------------------------------------------------------------------------------- + +via: https://news.opensuse.org/2014/07/01/command-line-tuesdays-part-three/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 \ No newline at end of file diff --git a/sources/tech/20140702 How to install Raspberry Pi camera board.md b/sources/tech/20140702 How to install Raspberry Pi camera board.md new file mode 100644 index 0000000000..e173d428c7 --- /dev/null +++ b/sources/tech/20140702 How to install Raspberry Pi camera board.md @@ -0,0 +1,107 @@ +How to install Raspberry Pi camera board +================================================================================ +[The Raspberry Pi camera (Pi Cam) board][1] was first released for sale in May 2013. This first release is equipped with a 5 Megapixel sensor, and connects through a ribbon cable to the CSI connector on the Raspberry Pi. The second release of Raspberry Pi camera board, which is called [Pi NoIR][2], has the same sensor, but without the IR filter. It has capability to see near IR wavelengths (700 - 1000 nm) like a security camera, and of course it is sacrificing the color rendition. + +In this article, we will show you **how to install a Raspberry Pi camera board on [Raspberry Pi][3]**. We will be using the first release of Pi camera board. Once the board is installed, you will use three applications to access the board: raspistill, raspiyuv, and raspivid. The first two apps are used for capturing images, while the third app is for capturing video. The raspistill tool produces standard image files such as .jpg images, but raspiyuv gives us unprocessed raw image files from the camera. + +### Installing the Raspberry Pi Camera Board ### + +To connect the Raspberry Pi camera board to Raspberry Pi, follow these instructions: + +1. Locate the CSI connector (the CSI connector is located near the Ethernet Port), and take off the brown tape. + +2. Pull up the pinch of the CSI port. + +3. Take your Pi Cam module, and remove the plastic protector from the lens. Make sure that the yellow part of the PCB which has sunny word is installed perfectly (just press gently that yellow part to make sure that it's installed perfectly). + +4. Put in the ribbon cable into the CSI port. Remember, the ribbon cable which has blue tape should be facing towards the Ethernet port. Also, make sure that the ribbon is inserted properly, then pull down the pinch. + +![](https://farm3.staticflickr.com/2938/14529915452_0910b2e13f_z.jpg) + +Now your Pi Cam is ready to take a picture or a video. + +### Enabling Camera on Raspbian ### + +After installing the Pi Cam module, make sure to update your Raspberry Pi system to get the latest firmware. To do so: + + $ sudo apt-get update + $ sudo apt-get upgrade + +To activate the Pi Cam module, run the Raspberry Pi configuration tool. + + $ sudo raspi-config + +Navigate to "Enable Camera" in the menu, and make it enabled. Reboot Raspberry Pi if you are done. + +![](https://farm4.staticflickr.com/3837/14530918915_e68ca0beef_z.jpg) + +![](https://farm3.staticflickr.com/2922/14344284230_6cabbe2522_z.jpg) + +![](https://farm3.staticflickr.com/2923/14529915362_7a437a53cb_z.jpg) + +Here is the final picture of Raspberry Pi with Pi Cam module attached. + +![](https://farm3.staticflickr.com/2924/14551046653_1c37e077fd_z.jpg) + +### Taking a Picture with Pi Camera ### + +We are ready to use Pi Cam after rebooting Raspberry Pi. To take a picture with Pi Cam, run raspistill from the command line. + + $ raspistill -o keychain.jpg -t 2000 + +This command will take a picture in 2000ms, and save it to keychain.jpg. The following is a picture of my small figurehead key chain, taken by Pi Cam. + +![](https://farm4.staticflickr.com/3845/14530919095_ea0f37045a_z.jpg) + +The raspiyuv tool works similarly, but the result is a unprocessed raw image from the camera. + +### Taking a Video with Pi Camera ### + +To take a video with Pi camera module, run raspivid tool from command line. The following command will take a video with default options which are 5 seconds length and 1920x1080 resolution with 17Mbps bitrate. + + $ raspivid -o mykeychain.h264 + +If you want to change the duration, just set the desired length (in milliseconds) with "-t" option. + + $ raspivid -o mykeychain.h264 -t 10000 + +To drop the resolution to 1280x720, use "-w" and "-h" options.. + + $ raspivid -o mykeychain.h264 -t 10000 -w 1280 -h 720 + +The output of raspivid is a raw H.264 video stream, and doesn't have sound with it. To be able to play with a common video player, the raw H.264 video needs to be converted. Use MP4Box application that comes with gpac package. + +To install gpac on Raspbian, use this command: + + $ sudo apt-get install -y gpac + +Then to convert the raw H.264 video stream into .mp4 format with 30 frames per second: + + $ MP4Box -fps 30 -add keychain.h264 keychain.mp4 + +The video length is 10 seconds, and has default resolutions and bitrate. Here is an example video captured by Pi Camera. + +注:youtube视频地址 + + +To get the complete command-line options of raspistill, raspiyuv, and raspivid, run the commands without any option. + + +---------- + +#### [Kristophorus Hadiono][a] #### + +I'm a Linux enthusiast. I use Linux for my daily computing, also when I teach my students. Becoming a good writer is one of my dreams. + +-------------------------------------------------------------------------------- + +via: http://xmodulo.com/2014/07/install-raspberry-pi-camera-board.html + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://xmodulo.com/go/picam +[2]:http://xmodulo.com/go/pinoir +[3]:http://xmodulo.com/go/raspberrypi +[a]:http://hadiono.org/blog \ No newline at end of file From 4b6b26e8d66aee631b131a5fbbc2b089c0cbf860 Mon Sep 17 00:00:00 2001 From: DeadFire Date: Wed, 2 Jul 2014 15:54:18 +0800 Subject: [PATCH 40/56] =?UTF-8?q?20140702-2=20=E9=80=89=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... Improv Tablet Projects Officially Axed.md | 31 ++++++ ...rt Linux--Hacking on Linux Since Age 16.md | 46 ++++++++ ...tall in RedHat and Debian Based Systems.md | 102 ++++++++++++++++++ 3 files changed, 179 insertions(+) create mode 100644 sources/news/20140702 KDE Improv Tablet Projects Officially Axed.md create mode 100644 sources/talk/20140702 The People Who Support Linux--Hacking on Linux Since Age 16.md create mode 100644 sources/tech/20140702 Wine 1.7.21 (Development Version) Released--Install in RedHat and Debian Based Systems.md diff --git a/sources/news/20140702 KDE Improv Tablet Projects Officially Axed.md b/sources/news/20140702 KDE Improv Tablet Projects Officially Axed.md new file mode 100644 index 0000000000..92d38c609e --- /dev/null +++ b/sources/news/20140702 KDE Improv Tablet Projects Officially Axed.md @@ -0,0 +1,31 @@ +KDE Improv, Tablet Projects Officially Axed +================================================================================ +![](http://www.omgubuntu.co.uk/wp-content/uploads/2012/03/OR0Gbh.jpg) + +**The team behind a highly publicised effort to release a KDE based Linux distribution on fully open hardware has announced the project has come to and end.** + +It’s news that few following the convoluted saga will find surprising, with both the KDE-based [Vivaldi Tablet][1] and Improv board projects having struggled to find their way to market despite numerous pre-orders, sales campaigns and marketing. + +The former of these, once known as ‘Spark’, has existed in various stages of gestation since 2012, only being formally ‘put on hold’ earlier this year. + +Both devices sought to bring hardware running on entirely open source software and drivers to market at an affordable price. Perhaps a little too constrained by the rigidity of their ideal — to offer a modular board that could be used in multiple devices — the projects hit road bump after road bump, delay after delay. + +Announcing the ‘wrap up’ in an e-mail sent to backers of the Improv ARM-based development board the team suggests that the FOSS community is ‘not ready’ to put its weight behind the ‘pressing issue of hardware freedom’, adding: + +> “We greatly appreciate everyone’s support, whether it was purchases, donations or words of wisdom and encouragement. There was simply not enough support to make the project work, despite having fully functional, production ready devices and a strong commitment to succeed.” + +Partial refunds are now being issued to those who pre-ordered a device, with the team hoping to provide full refunds at a later date. + +But while one open-source tablet effort may retire others are continuing. Canonical has stated that the first Ubuntu tablets will launch alongside the first handsets [later this year][2], while Intel and Samsung’s Linux-based Tizen OS is also [fast gathering pace][3]. + +-------------------------------------------------------------------------------- + +via: http://www.omgubuntu.co.uk/2014/07/kde-improv-tablet-projects-officially-axed + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.omgubuntu.co.uk/2012/03/kde-tablet-vivaldi-gets-gutted +[2]:http://www.omgubuntu.co.uk/2014/03/ubuntu-tablets-coming-year +[3]:http://www.omgubuntu.co.uk/2014/06/samsung-first-tizen-phone-unveiled \ No newline at end of file diff --git a/sources/talk/20140702 The People Who Support Linux--Hacking on Linux Since Age 16.md b/sources/talk/20140702 The People Who Support Linux--Hacking on Linux Since Age 16.md new file mode 100644 index 0000000000..4e31ccf734 --- /dev/null +++ b/sources/talk/20140702 The People Who Support Linux--Hacking on Linux Since Age 16.md @@ -0,0 +1,46 @@ +The People Who Support Linux: Hacking on Linux Since Age 16 +================================================================================ +![](http://www.linux.com/images/stories/41373/Yitao-Li.png) + +Pretty much all of the projects in software developer [Yitao Li's GitHub repository][1] were developed on his Linux machine. None of them are necessarily Linux-specific, he says, but he uses Linux for “everything.” + +For example: “coding / scripting, web browsing, web hosting, anything cloud-related, sending / receiving PGP signed emails, tweaking IP table rules, flashing OpenWrt image into routers, running one version of Linux kernel while compiling another version, doing research, doing homework (e.g., typing math equations in Tex), and many others...” Li said via email. + +Of all the projects in his repository his favorite is a school project developed in C++ with libpthread and libfuse to understand and correctly implement PAXOS-based distributed locking, key-value service, and eventually a distributed filesystem. He tested it using a number of test scripts on both single-core and multi-core machines. + +“One can learn something about distributed consensus protocol by implementing the PAXOS protocol correctly (or at least mostly correctly) such that the implementation will pass all the tests,” he said. “And of course once that is accomplished, one can also earn some bragging rights. Besides, a distributed filesystem can be useful in many other programming projects.” + +Li first started using Linux at age 16, or about 7.47 years ago, he says, using the website [linuxfromscratch.org][2], with numerous hints from the free, downloadable Linux From Scratch book. Why? + +“1. Linux is very hacker-friendly and I do not see any reason for not using it,” he writes. “2. The prefrontal cortex of the brain becoming well-developed at age 16 (?).” + +[![](http://www.linux.com/images/stories/41373/ldc_peop_linux.png)][3] + +He now works for eBay, mostly coding in Java but working sometimes with Hadoop, Pig, Zookeeper, Cassandra, MongoDB, and other software that requires a POSIX-compliant platform. He supports the Linux community by contributing to Wikipedia pages and forums on Linux-related subjects. And by becoming an individual member of The Linux Foundation. + +He keeps up with the latest Linux developments and has recently been impressed by the new "-fstack-protector-strong" option for GCC 4.9 and later. + +“It's not directly related to any of my projects, but it was important for both security and performance reasons,” he said. “It's much more efficient than "-fstack-protector-all" with little impact on security, while providing better stack-overflow protection coverage compared to that of the "-fstack-protector" option.” + +Welcome to the Linux Foundation Yitao! + +Learn more about becoming an [individual member of The Linux Foundation][3]. The foundation will donate $25 to Code.org for every new individual member who joins during June. + +---------- + +![](http://www.linux.com/community/forums/avatar/41373/catid/200-libby-clark/thumbnail/large/cache/1331753338) + +[Libby Clark][4] + +-------------------------------------------------------------------------------- + +via: http://www.linux.com/news/featured-blogs/200-libby-clark/778559-the-people-who-support-linux-hacking-on-linux-since-age-16 + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:https://github.com/yl790 +[2]:http://linuxfromscratch.org/ +[3]:https://www.linuxfoundation.org/about/join/individual +[4]:http://www.linux.com/community/forums/person/41373/catid/200-libby-clark \ No newline at end of file diff --git a/sources/tech/20140702 Wine 1.7.21 (Development Version) Released--Install in RedHat and Debian Based Systems.md b/sources/tech/20140702 Wine 1.7.21 (Development Version) Released--Install in RedHat and Debian Based Systems.md new file mode 100644 index 0000000000..c0c14973ff --- /dev/null +++ b/sources/tech/20140702 Wine 1.7.21 (Development Version) Released--Install in RedHat and Debian Based Systems.md @@ -0,0 +1,102 @@ +Wine 1.7.21 (Development Version) Released – Install in RedHat and Debian Based Systems +================================================================================ +Wine, a most popular and powerful open source application for Linux, that used to run Windows based applications and games on Linux Platform without any trouble. + +![Install Wine (Development Version) in Linux](http://www.tecmint.com/wp-content/uploads/2014/05/Install-Wine-Development-Version.png) +Install Wine (Development Version) in Linux + +**WineHQ** team, recently announced a new development version of **Wine 1.7.21**. This new development build arrives with a number of new important features and bug fixes. + +Wine team, keep releasing their development builds almost on weekly basis and adding numerous new features and fixes. Each new version brings support for new applications and games, making Wine a most popular and must have tool for every user, who want to run Windows based software in a Linux platform. + +According to the changelog, following key features are added in this release: + +- Added support for critical sections in the C runtime. +- The Unicode data updated to Unicode 7. +- Implemented support for interlaced PNG encoding. +- Added an initial stub for the Package library. +- And several bug fixes have been implemented. + +For more in-depth details about this build can be found at the official [changelog][1] page. + +This article guides you how to install most recent development version of **Wine 1.7.21** on **Red Hat** and **Debian** based systems such as CentOS, Fedora, Ubuntu, Linux Mint and other supported distributions. + +### Installing Wine 1.7.21 Development Version in Linux ### + +Unfortunately, there are no official Wine repository available for the **Red Hat** based systems and the only way to install Wine, is to compile it from source. To do this, you need to install some dependency packages such as gcc, flex, bison, libX11-devel freetype-devel and Development Tools, etc. These packages are must required to compile Wine from source. Let’s install them using following **YUM** command. + +#### On RedHat, Fedora and CentOS #### + + # yum -y groupinstall 'Development Tools' + # yum -y install flex bison libX11-devel freetype-devel + +Next, download the latest development version of Wine (i.e. **1.7.21**) and extract the source tallball package using the following commands. + + $ cd /tmp + $ wget http://citylan.dl.sourceforge.net/project/wine/Source/wine-1.7.21.tar.bz2 + $ tar -xvf wine-1.7.21.tar.bz2 -C /tmp/ + +Now, it’s time to compile and build Wine installer using the following commands as normal user. (**Note**: The installation process might take up-to **15-20** minutes depending upon your internet and hardware speed, during installation it will ask you to enter **root** password. + +**On 32-Bit Systems** + + $ cd wine-1.7.21/ + $ ./tools/wineinstall + +**On 64-Bit Systems** + + $ cd wine-1.7.21/ + $ ./configure --enable-win64 + $ make + # make install + +#### On Ubuntu, Debian and Linux Mint #### + +Under **Ubuntu** based systems, you can easily install the latest development build of Wine using the official **PPA**. Open a terminal and run the following commands with sudo privileges. + + $ sudo add-apt-repository ppa:ubuntu-wine/ppa + $ sudo apt-get update + $ sudo apt-get install wine 1.7 winetricks + +**Note**: At the time of writing this article, available version was **1.7.20** and the new build not yet updated in official Wine Repository, but the above instructions will install **1.7.21** when they made available. + +Once the installation completes successfully, you can install or run any windows based applications or games using wine as shown below. + + $ wine notepad + $ wine notepad.exe + $ wine c:\\windows\\notepad.exe + +**Note**: Please remember, this is a development build and cannot be installed or used on production systems. It is advised to use this version only for testing purpose. + +If you’re looking for a most recent stable version of Wine, you can go through our following articles, that describes how to install most latest version on almost all Linux environments. + +- [Install Wine 1.6.2 (Stable) in RHEL, CentOS and Fedora][2] +- [Install Wine 1.6.2 (Stable) in Debian, Ubuntu and Mint][3] + +### Reference Links ### + +- [WineHQ Homepage][4] + +---------- + +![](http://1.gravatar.com/avatar/7badddbc53297b2e8ed7011cf45df0c0?s=80&d=blank&r=G) + +#### Ravi Saive #### + +Owner at [TecMint.com][5] + +Simple Word a Computer Geek and Linux Guru who loves to share tricks and tips on Internet. Most Of My Servers runs on Open Source Platform called Linux. + +-------------------------------------------------------------------------------- + +via: http://www.tecmint.com/install-wine-in-linux/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.winehq.org/announce/1.7.21 +[2]:http://www.tecmint.com/install-wine-in-rhel-centos-and-fedora/ +[3]:http://www.tecmint.com/install-wine-on-ubuntu-and-linux-mint/ +[4]:http://www.winehq.org/ +[5]:http://www.tecmint.com/ \ No newline at end of file From edbda73c3aaf522c5b4e9ace888b28d46af2a4c6 Mon Sep 17 00:00:00 2001 From: DeadFire Date: Wed, 2 Jul 2014 16:02:20 +0800 Subject: [PATCH 41/56] =?UTF-8?q?20140702-3=20=E9=80=89=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...heck MySQL storage engine type on Linux.md | 41 +++++++++++++++++++ ...sreport in linux (RHEL 5.X or RHEL 6.X).md | 41 +++++++++++++++++++ 2 files changed, 82 insertions(+) create mode 100644 sources/tech/20140702 How to check MySQL storage engine type on Linux.md create mode 100644 sources/tech/20140702 How to create sosreport in linux (RHEL 5.X or RHEL 6.X).md diff --git a/sources/tech/20140702 How to check MySQL storage engine type on Linux.md b/sources/tech/20140702 How to check MySQL storage engine type on Linux.md new file mode 100644 index 0000000000..80fa4abc4f --- /dev/null +++ b/sources/tech/20140702 How to check MySQL storage engine type on Linux.md @@ -0,0 +1,41 @@ +How to check MySQL storage engine type on Linux +================================================================================ +> **Question**: I need to know whether my MySQL database table is MyISAM or Innodb type. How can I check the type of a MySQL database table? + +There are two major MySQL storage engines used: **MyISAM and Innodb**. MyISAM is non-transactional, and thus can be faster for reads, while InnoDB fully supports transactions (e.g., commit/rollback) with finer-grain locking. When you create a new MySQL table, you choose its type (i.e., storage engine). Without any choice, you will simply use a pre-configured default engine. + +If you would like to know the type of an existing MySQL database table, there are a couple of ways to do it. + +### Method One ### + +If you have access to phpMyAdmin, you can find out the database type from phpMyAdmin. Simply choose your database from phpMyAdmin to see a list of its tables. Under "Type" column, you will see the database type for each table. + +![](https://farm4.staticflickr.com/3871/14526575875_c1da3d9c7a_z.jpg) + +### Method Two ### + +If you can log in to a MySQL server directly, another way to identify the storage engine is to run the following MySQL command inside your MySQL server after logging in. + + mysql> SELECT ENGINE FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'my_database' AND TABLE_NAME = 'my_table'; + +The above command will show the engine type of a table called 'my_table' in 'my_database' database. + +### Method Three ### + +Yet another method to check the MySQL engine is to use mysqlshow, a command-line utility which shows database information. The mysqlshow utility comes with [MySQL client package installation][1]. To use mysqlshow, you need to supply MySQL server login credential. + +The following command will show information about a particular database. Under "Engine" column, you will see the storage engine for each table. + + $ mysqlshow -u -p -i + +![](https://farm4.staticflickr.com/3845/14340200549_8fbe7ea7b5_z.jpg) + +-------------------------------------------------------------------------------- + +via: http://ask.xmodulo.com/check-mysql-storage-engine-type-linux.html + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://xmodulo.com/2013/06/how-to-install-mysql-server-and-client-on-linux.html \ No newline at end of file diff --git a/sources/tech/20140702 How to create sosreport in linux (RHEL 5.X or RHEL 6.X).md b/sources/tech/20140702 How to create sosreport in linux (RHEL 5.X or RHEL 6.X).md new file mode 100644 index 0000000000..6f617d452c --- /dev/null +++ b/sources/tech/20140702 How to create sosreport in linux (RHEL 5.X or RHEL 6.X).md @@ -0,0 +1,41 @@ +How to create sosreport in linux (RHEL 5.X / RHEL 6.X) +================================================================================ +**Sosreport** is a command in linux (**RHEL / CentOS**) which collects **system configuration** and diagnostic information of your linux box like running kernel version, loaded modules, and system and service configuration files. This command also runs external programs to collect further information, and stores this output in the resulting archive. + +Sosreport is required when you have open a case with redhat for technical support. Redhat support Engineers will require sosreport of your server for troubleshooting purpose. + +To run sosreport , **sos** package should be installed. Sos package is part of default installation in most of linux. If for any reason this package is no installed , then use below yum command to install **sos package** : + + # yum install sos + +### Generate the report ### + +Open the terminal type sosreport command : + + # sosreport + + This command will normally complete within a **few minutes**. Depending on local configuration and the options specified in some cases the command may take longer to finish. Once completed, sosreport will generate a compressed a file under **/tmp** folder. Different versions use different compression schemes (**gz, bz2, or xz**). The file should be provided to Redhat support representative (normally as an attachment to an open case). + +**Note**: sosreport requires root permissions to run. + +### Different Options used in sosreport command : ### + +The sosreport command has a **modular structure** and allows the user to enable and disable modules and specify module options via the command line. To **list available modules** (plug-ins) use the following command: + + # sosreport -l + +To turn off a module include it in a comma-separated list of modules passed to the -n/–skip-plugins option. For instance to disable both the kvmand amd modules: + + # sosreport -n kvm,amd + +Individual modules may provide additional options that may be specified via the -k option. For example on Red Hat Enterprise Linux 5 installations the sos rpm module collects "rpm -Va" output by default. As this may be time-consuming the behavior may be disabled via: + + # sosreport -k rpm.rpmva=off + +-------------------------------------------------------------------------------- + +via: http://www.linuxtechi.com/how-to-create-sosreport-in-linux/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 \ No newline at end of file From e98e2b839dd5a6c05b96bc8f13b472ae5cca394c Mon Sep 17 00:00:00 2001 From: tinyeyeser Date: Wed, 2 Jul 2014 21:23:25 +0800 Subject: [PATCH 42/56] =?UTF-8?q?=E5=B7=B2=E7=BF=BB=E8=AF=91=20by=E5=B0=8F?= =?UTF-8?q?=E7=9C=BC=E5=84=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: tinyeyeser --- ...ny Languages Do Developers Need To Know.md | 88 ------------------- ...ny Languages Do Developers Need To Know.md | 86 ++++++++++++++++++ 2 files changed, 86 insertions(+), 88 deletions(-) delete mode 100644 sources/talk/20140620 How Many Languages Do Developers Need To Know.md create mode 100644 translated/talk/20140620 How Many Languages Do Developers Need To Know.md diff --git a/sources/talk/20140620 How Many Languages Do Developers Need To Know.md b/sources/talk/20140620 How Many Languages Do Developers Need To Know.md deleted file mode 100644 index e75575254b..0000000000 --- a/sources/talk/20140620 How Many Languages Do Developers Need To Know.md +++ /dev/null @@ -1,88 +0,0 @@ -翻译中 by小眼儿 - -How Many Languages Do Developers Need To Know? -================================================================================ -![](http://readwrite.com/files/styles/1400_0/public/fields/code%20example%20Flickr%20Ruiwen%20Chua.jpg) - -> Big companies like Apple, Facebook and Google are developing their own programming languages, forcing developers to adapt. - -At its Worldwide Developer Conference last week, Apple announced its new programming language [Swift][1]. It’s the latest in a rash of new languages developed by big tech companies, in some cases for specific use with their own platforms. - -Apple has Swift for iOS developers; [Facebook has Hack][2], a language for back-end development. Google, meanwhile, has its own entries—the would-be Javascript replacement Dart and a new general programming language called Go. - -This rash of new languages raises a number of issues for developers. Perhaps the most significant is one my colleague [Adriana Lee][3] raised after Apple's Swift announcement: - -> (How many languages are devs supposed to learn?) -> — Adriana Lee (@adra_la) [June 2, 2014][4] - -### A Computer-Language Babel ### - -There are already [hundreds of programming languages][5] in existence, and more are popping into existence all the time. Many are designed for use in a relatively narrow range of applications, and large numbers never catch on beyond small groups of coders. - -Similarly, big tech companies have been developing new languages for about as long as there have been big tech companies. The [seminal general-purpose language C][6] originated at AT&T Bell Labs in the early 1970s. Java, now the primary language for development of Android apps, was [born at Sun Microsystems][7] in the 1990s. - -What's different these days is the extent to which companies embrace new languages to further their specific business objectives—a process that also has the effect of creating a dedicated base of developers who are effectively "locked in" to a company's particular platform. That sort of dual strategy dates back at least to Sun's introduction of Java, which the company promoted as a way to challenge Microsoft's dominance on the PC desktop. (Things didn't work out the way Sun planned, although Java eventually found a home in enterprise middleware systems before Google adopted it for Android.) - -It's also clearly Apple's goal with Swift. Should it live up to the company's early hype, Swift seems likely to simplify iOS app development by filing the rough edges off Objective-C, the current lingua franca of iOS and Mac OS X developers. But it will also require those same developers to learn the ins and outs of a new language that they're unlikely to use anywhere else. - -### Why Companies Roll Their Own ### - -Which cuts against the ingrained "don’t reinvent the wheel” philosophy that animates most developers. So why don't more companies just adopt already existing languages to new uses? - -One answer is simply that companies build their own languages because they can. Designing a new language can be complex, but it's not particularly resource-intensive. What's hard is building support for it, both in terms of providing software resources (shared code libraries, APIs, compilers, documentation and so forth) and winning the hearts and minds of developers. Companies are uniquely positioned to do both. - -There's also the fact that existing languages are often difficult to shoehorn into today's complex code frameworks. Take, for instance, [Facebook's decision to create Hack][8], a superset of the [scripting language PHP][9] that's commonly used in Web development. - -Facebook's main goal with Hack—a common one these days—was to improve code reliability, in this case by enforcing data-type checking before a program is executed. Such checks ensure that a program won't, say, try to interpret an integer as a string of characters, an error that could yield unpredictable results if not caught. In Hack, those checks take place in advance so that programmers can identify such errors long before their code goes live. - -According to Julien Verlaguet, a core developer on Facebook’s Hack team, the company first looked for an an existing language that might allow for more efficient programming. But much of Facebook was already built on PHP, and the company has built up a substantial software infrastructure to support PHP and its offshoots. While it's possible to make PHP work with code written in a different language, it's not easy—nor is it fast. - -“Let’s say I try to rewrite our PHP codebase in Scala,” Verlaguet said. “It’s a well designed, beautiful language, but it’s not at all compatible with PHP. Everytime I need to call to PHP from the Scala part of the code base, I’ll lose performance speed. We would have liked to use an existing language but for us, it just wasn’t an option.” - -Instead, Facebook invented Hack, which has enough in common with PHP that it can share the company's existing infrastructure. The vast majority of the Facebook codebase has been migrated from PHP to Hack, said Verlaguet, but the company has open sourced the language in hopes that independent developers will find uses for it outside of Facebook. - -“You can still use PHP,” he said. “But we’re hoping you’ll want to use Hack.” - -### Who Holds The Power ### - -Therein lies the balance of power between companies and developers. Companies can make their languages as specific as they like. But if developers don’t want to use them, nobody is going to—outside, that is, of anyone who might harbor hopes of one day working at the company that invented the language. - -It’s not unusual for companies to make it easiest to develop in one language over another. For example, you would use Objective-C to develop iOS apps, but Java to develop Android apps. This has never been a major sticking point with developers because both Objective-C and Java are general purpose object-oriented languages. They’re useful for a number of purposes. - -Hack, Dart, Go, and Swift, however, so far have only proven useful for particular company-designated programming solutions, usually in tandem with that company’s programming environment of choice. Granted, it may be too soon to judge. Hack, for example, can be used in several back-end implementations; it’s just so new that Facebook doesn’t yet have any data that people want to use it that way. - -It’s not that developers aren’t capable of learning multiple languages. Most already do. Think of them like the Romance languages—if you know Spanish, it’ll be easier to learn French and so on than if you didn’t already know one. Likewise, if you already know Java, it’ll be easier to learn Ruby or Perl. And if you know PHP, you basically already know Hack. - -On the contrary, it’s more of a question of habit. If Java already solves your specific problems, you don’t have any incentive to learn Ruby. And if you are happy coding iOS apps in Objective-C, you’re not going to feel very tempted to pick up Swift. - -To some developers, though, ecosystem-specific languages just make life harder for everybody. Freelance designer Jack Watson-Hamblin, for instance, told me that initiatives like Apple's Swift risk overburdening programmers and fragmenting the developer community: - -> It's important for programmers to know multiple languages, but forcing them to keep up with new languages all the time doesn't make sense. If I'm making a simple cross-platform app, I don't want to have to know four languages to do it. I only want to use the single-purpose language if I really need to. - -Watson-Hamblin argues that when companies each build their own language for their own needs, it slows down overall progress both by dividing the attention of coders and by enforcing a monolithic perspective on development within that language. "When companies are in charge of a language vs. an open-source community, it's like the difference between a corporation and a start-up," he said. Communities are more flexible and adaptive by definition. - -Of course, Apple had [a lot of very good reasons to start from scratch][10] with Swift, just as Facebook did when it invented Hack. That doesn't mean it's not going to force change on developers—some of it doubtless unwelcome. - -“As new languages are invented, it gets more hegemonic,” said Verlaguet. “It can be frustrating to have to keep up. But on the other hand, you’re more likely to have a new language to fit your exact problem. Imagine the reverse—a world where programmers used the same language for everything. It’d be a language that could do everything poorly but nothing well.” - -Lead image by [Flickr user Ruiwen Chua][11], CC 2.0 - --------------------------------------------------------------------------------- - -via: http://readwrite.com/2014/06/17/apple-swift-facebook-hack-google-dart - -译者:[Mr小眼儿](https://github.com/tinyeyeser) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:https://developer.apple.com/swift/ -[2]:http://readwrite.com/2014/03/20/facebook-new-programming-language-hack -[3]:http://readwrite.com/author/adriana-lee#awesm=~oGfPbJlSrFBamJ -[4]:https://twitter.com/adra_la/statuses/473537386266112000 -[5]:http://en.wikipedia.org/wiki/List_of_programming_languages -[6]:http://en.wikipedia.org/wiki/C_(programming_language) -[7]:http://en.wikipedia.org/wiki/Java_(programming_language) -[8]:http://readwrite.com/2014/03/20/facebook-new-programming-language-hack -[9]:http://en.wikipedia.org/wiki/PHP -[10]:http://blog.erratasec.com/2014/06/why-it-had-to-be-swift.html#.U58BJI1dXtA -[11]:https://www.flickr.com/photos/ruiwen/3260095534 diff --git a/translated/talk/20140620 How Many Languages Do Developers Need To Know.md b/translated/talk/20140620 How Many Languages Do Developers Need To Know.md new file mode 100644 index 0000000000..f43b26b962 --- /dev/null +++ b/translated/talk/20140620 How Many Languages Do Developers Need To Know.md @@ -0,0 +1,86 @@ +到底开发者需要掌握多少门语言? +================================================================================ +![](http://readwrite.com/files/styles/1400_0/public/fields/code%20example%20Flickr%20Ruiwen%20Chua.jpg) + +> 诸如Apple、Facebook及Google这样的大公司正在开发他们自己的编程语言,开发者们被迫只有适应。 + +前不久的世界开发者大会上,Apple公布了它的新开发语言[Swift][1]。这是最近大型技术公司们开发的一大波新语言中的最新成员,这些新语言某种程度上都是专门应用于他们自己的平台。 + +对iOS开发者,Apple有Swift;而[Facebook 有 Hack][2] —— 一门用于后端开发的语言。与此同时,Google已经拥有了它自己的Javascript替代者 Dart,以及一门新的通用编程语言Go。 + +这一波又一波的新语言,给开发者们带来了许多问题。也许其中最严重的问题正如我一位同事[Adriana Lee][3]在Apple发布Swift后所说: + +> (开发者们到底还得学习多少门语言?) +> ——Adriana Lee (@adra_la) [June 2, 2014][4] + +### 计算机语言的通天塔 ### + +目前已经存在的[编程语言有数百种][5],同时还有更多的语言正在涌现。其中许多都是被设计用在相对较窄的应用程序范围内,大多数甚至从未走出过项目小组的范围。 + +与此类似,大技术公司开发的新语言其实也是伴随着公司一起成长的。[通用语言的鼻祖,C语言][6],就源于上世纪70年代初的AT&T贝尔实验室。Java,目前作为Android app开发的主要语言,诞生于上世纪90年代[Sun公司的Microsystems系统][7]。 + +发展到现在,不同之处在于,公司们拥抱新语言、从而想要延伸的特定商业目标的范围不一样了 —— 这一过程同时建立了一个忠心耿耿的开发者基础,他们被牢牢锁定在了某个公司的特定平台上。这类一石二鸟的战略,最早可以追溯到Sun对Java的采用,当时公司就将其作为了挑战微软PC桌面统治地位的一种手段。(事情虽然没有像Sun计划的那样发展下去,但在Google转向Android之前,Java大体上也算是在企业中间件系统中找到了自己的一席之地。) + +这么看来,Apple的Swift其目标也就很明确了。Swift应该不会辜负公司前期的大肆宣传,通过磨平Objective-C那粗糙的毛边,看起来它能够成功简化iOS app开发者的开发过程。但是同样还是这些开发者,他们却需要学习一门新语言的输入和输出,而这些功能很可能在其他地方都不会用到。 + +### 大公司们为什么要重复造轮子 ### + +“不要重复造轮子”这一哲学在绝大多数开发者心中根深蒂固,大公司们对此却并不买账。那他们为何不只是修改下现有语言用于新的用途呢? + +答案很简单,公司们发明他们自己的语言,是因为他们有这个能力。设计一门新语言可能很复杂,但对资源要求却并不很高。困难之处也就在对其提供支持,包括提供软件资源(共享代码库、API、编译器、文档等)以及赢得开发者的心意。大公司们在这两方面尤其擅长。 + +还有一个事实,现有语言通常很难硬塞进如今的复杂代码框架中。举个栗子,[Facebook决定发明的Hack][8],就是一个普遍适用于Web开发的[脚本语言PHP][9]的超集合(superset)。 + +Facebook的Hack最近已经比较普遍,其主要目标就是改进代码的稳定性,针对这一目的,它强制在程序运行之前对数据类型进行检测。这样的检测确保了一个程序,比方说,不会将一个整数解析为一个字符串,这样的错误如果捕获不到很可能会导致不可预知的后果。在Hack中,这些检测会预先执行,以便程序员能够在程序上线前早早发现这样的错误。 + +据Facebook的Hack项目组核心成员Julien Verlaguet透露,公司之前尝试过用一门现有语言实现更高效的编程。但是Facebook的大部分代码都是由PHP编写的,公司实际上已经建立了一个支持PHP及其分支的软件架构。即使能够让PHP同其他语言编写的代码协同工作,实现的难易程度和运行速度都无法满足要求。 + +“比如说我们尝试用Scala重写PHP代码库,”Verlaguet说。“Scala是一门设计优秀的漂亮语言,但是它与PHP完全不兼容。每次我需要从Scala的代码库部分调用PHP的时候,都会损失性能。我们很愿意使用一门现有语言,但是对于我们来说,这条路行不通。” + +于是,Facebook发明了Hack,它与PHP一样能够共用公司现有的架构。Verlaguet介绍说,Facebook的代码库主体已经从PHP迁移到了Hack,同时公司将Hack开源,希望独立开发者们能够帮公司找到Facebook以外的用途。 + +“你仍然可以使用PHP,”他说,“但是我们希望你有使用Hack的欲望。” + +### 谁说了算 ### + +公司和开发者之间有一种微妙的平衡。公司可以按照自己的喜好发明语言。但是如果开发者都不愿使用这门语言,那就没人用了,公司以外的人也就没人愿意将自己的职业生涯托付给这家公司。 + +公司在开发过程中同时使用不同的语言,这并不少见。例如,你可能用Objective-C开发iOS app,但却用Java开发Android app。对开发者来说,这从来都不是症结所在,因为Objective-C和Java都是通用面向对象语言。它们用途广泛适用于很多场合。 + +然而,Hack、Dart、Go和Swift,到目前为止,仍然只适用于严格特定公司的编程解决方案,往往和公司选择的编程环境相对应。诚然,现在下结论可能还太早。比方说Hack,就可以用在一些后端的实现中;它只是太新了,以至于Facebook还没有任何数据供人们如此使用。 + +不是开发者不能学习多门语言。事实上,大多数人已经掌握了多门语言。这好比罗曼斯语(由拉丁语演变而成的语言),如果你会说西班牙语,再去学法语就比那些不会西班牙语的人简单许多。与此类似,如果你已经会Java,再学Ruby或Perl就简单得多。如果你会PHP,基本上就已经学会了Hack。 + +与此相反,学习多门语言更多的是一个习惯问题。如果Java已经解决了你的问题,你就不再有动机去学Ruby。如果你用Objective-C编写iOS app感觉很爽,你就不会有强烈的意愿去学Swift。 + +另外,对于一些开发者来说,封闭生态系统的语言只会使每个人的生活变得更糟。例如,自由设计师Jack Watson-Hamblin就告诉我说,像Apple这样强势推出Swift,其实是在冒险增加程序员的负担,同时将开发者社区割裂开来: + +> 程序员掌握多门语言固然重要,但是不断强迫他们紧跟新语言,却是行不通的。如果我正在开发一个简单的跨平台app,我可不想被迫掌握四门语言再来完成它。如果真的需要,我也只想使用一门语言。 + +Watson-Hamblin就主张说,当每家公司都为了自家需要发明自己的语言时,程序员的注意力被分散,开发的视野也局限于一种,这只会拖慢整个开发进程。他说,“如果拿公司负责一门语言与负责一个开源社区相比较,这两者的区别就好比一家大企业与一个初创小公司的区别”。社区生来就更加灵活,适应能力更强。 + +当然,Apple有[许多非常好的理由推出Swift从零开始][10],就像当初Facebook发明Hack的时候一样。我并不是说,大公司不会强迫开发者接受这种改变,在这方面,有些公司一直都很让人讨厌。 + +“新语言的发明,伴随着霸权的支配,”Verlaguet说,“被迫不停追赶,确实令人沮丧,但另一方面,你又多了一种解决问题的新语言。反过来想想,要是全世界的程序员都用同样一门语言做所有事情,即使啥都凑合着能干,这门语言也一定干得不怎么样”。 + +题图来自于[Flickr user Ruiwen Chua][11],CC 2.0 + +-------------------------------------------------------------------------------- + +via: http://readwrite.com/2014/06/17/apple-swift-facebook-hack-google-dart + +译者:[Mr小眼儿](http://blog.csdn.net/tinyeyeser) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:https://developer.apple.com/swift/ +[2]:http://readwrite.com/2014/03/20/facebook-new-programming-language-hack +[3]:http://readwrite.com/author/adriana-lee#awesm=~oGfPbJlSrFBamJ +[4]:https://twitter.com/adra_la/statuses/473537386266112000 +[5]:http://en.wikipedia.org/wiki/List_of_programming_languages +[6]:http://en.wikipedia.org/wiki/C_(programming_language) +[7]:http://en.wikipedia.org/wiki/Java_(programming_language) +[8]:http://readwrite.com/2014/03/20/facebook-new-programming-language-hack +[9]:http://en.wikipedia.org/wiki/PHP +[10]:http://blog.erratasec.com/2014/06/why-it-had-to-be-swift.html#.U58BJI1dXtA +[11]:https://www.flickr.com/photos/ruiwen/3260095534 \ No newline at end of file From 6999f9c8098093f52fda3c216bf835c8e32efb53 Mon Sep 17 00:00:00 2001 From: owen-carter Date: Wed, 2 Jul 2014 21:55:34 +0800 Subject: [PATCH 43/56] translating --- ...p500 Supercomputer Remains Stuck at 33.86 Petaflops Each s.md | 1 + 1 file changed, 1 insertion(+) diff --git a/sources/talk/20140624 Top500 Supercomputer Remains Stuck at 33.86 Petaflops Each s.md b/sources/talk/20140624 Top500 Supercomputer Remains Stuck at 33.86 Petaflops Each s.md index 63e1581586..896525d340 100644 --- a/sources/talk/20140624 Top500 Supercomputer Remains Stuck at 33.86 Petaflops Each s.md +++ b/sources/talk/20140624 Top500 Supercomputer Remains Stuck at 33.86 Petaflops Each s.md @@ -1,3 +1,4 @@ +translating by owen-carter Top500 Supercomputer Remains Stuck at 33.86 Petaflops/s ================================================================================ The Tianhe-2 first jumped onto the world's supercomputing stage a year ago, taking the crown of world's most powerful computer. At the time, the Tianhe-2 was rated with a performance of 33.86 petaflops per second. From ecef97788840234838fc5436cd1f647e45dc93f5 Mon Sep 17 00:00:00 2001 From: wxy Date: Wed, 2 Jul 2014 21:57:05 +0800 Subject: [PATCH 44/56] =?UTF-8?q?=E6=B8=85=E9=99=A4=E8=BF=87=E6=9C=9F?= =?UTF-8?q?=E6=96=87=E7=AB=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... Red Hat Revenues Power Forward in 2015.md | 41 ------------------- ...l Designers Update Ubuntu Linux Website.md | 41 ------------------- ...s Open Source OpenSSL Web Security Code.md | 38 ----------------- ...ntu Uncertainty and Nerdy Enlightenment.md | 26 ------------ 4 files changed, 146 deletions(-) delete mode 100644 sources/news/20140620 Red Hat Revenues Power Forward in 2015.md delete mode 100644 sources/news/20140625 Canonical Designers Update Ubuntu Linux Website.md delete mode 100644 sources/news/20140625 Google Forks Open Source OpenSSL Web Security Code.md delete mode 100644 sources/news/20140625 Linux Domination or Ubuntu Uncertainty and Nerdy Enlightenment.md diff --git a/sources/news/20140620 Red Hat Revenues Power Forward in 2015.md b/sources/news/20140620 Red Hat Revenues Power Forward in 2015.md deleted file mode 100644 index 61c0ca008c..0000000000 --- a/sources/news/20140620 Red Hat Revenues Power Forward in 2015.md +++ /dev/null @@ -1,41 +0,0 @@ -Red Hat Revenues Power Forward in 2015 -================================================================================ -Red Hat reported its first quarter fiscal 2015 revenues on June 18, showing continued demand and momentum for its Linux and open-source technologies. Red Hat has been particularly busy of late, acquiring a pair of companies and launching its Red Hat Enterprise Linux 7 (RHEL) flagship platform. - -For the quarter, Red Hat reported revenue of $424 million, which is a 17 percent year-over-year gain. - -![](http://www.serverwatch.com/imagesvr_ce/7990/icon-redhatlinux-r.jpg) - -"The main driver of our total revenue growth was subscription revenue of $372 million," Red Hat CFO Charlie Peters said during his company's earnings call. "Subscription revenue was up 18 percent year-over-year and it's important to point out that this renewable revenue stream now constitutes 88 percent of total revenue." - -Looking forward, Red Hat provided second quarter guidance for approximately $432 million to $436 million in revenue. - -One of the key metrics for growth that Red Hat provides is its top 30 deals during a given quarter. Peters noted that for the first time, all of the top 30 deals were valued at over $1 million. - -"We also had a Q1 record with four deals that were in excess of $5 million and one that was greater than $10 million," Peters said. "Cross-selling was strong with 65 percent of these deals including one or more components from our group of applications development and emerging technologies offerings." - -At the core of Red Hat's product portfolio is the Red Hat Enterprise Linux platform, which hit a major milestone last week with the debut of RHEL 7. - -"RHEL 7 is significant because it was designed to meet both modern data center and next generation IT requirements for cloud, Linux containers and Big Data," Red Hat CEO Jim Whitehurst said during the earnings call. "As the worlds of physical, virtual and cloud systems converge Red Hat Enterprise Linux 7 delivers a true foundation for open hybrid cloud that will serve as the backbone for future application architectures." - -### Acquisitions and Cloud Provide Opportunities for Further Growth ### - -Red Hat has also been busy acquiring a pair of companies that further expand the company's ability to grow. In April, Red Hat acquired Inktank, the lead commercial sponsor behind the Ceph open-source storage filesystem. And on June 18, Red Hat announced the acquisition of OpenStack services vendor eNovance. - -"With eNovance as a part of the Red Hat consulting team, we can enhance our consulting resources to be able to reach more customers with world-class OpenStack technologies and implementation services," Whitehurst said. - -While cloud remains a growth opportunity for Red Hat, Whitehurst sees growth also coming from continuing to take market share away from other server operating system platforms. In particular, Whitehurst noted that there is still a continued move from mainframe and Unix to Linux. - -"I was just on the phone today with a massive European customer that is literally just ready to start on the journey right now," Whitehurst said. "We continue to believe we're taking share from Windows especially with net new workloads." - -Another driver of growth for Red Hat is the maturity and expansion of its sales force. - -"We definitely have more boots on the street because we have been hiring consistently," Whitehurst said. "But I think our sales guys are more experienced, they are better trained, their confidence level is high and their enthusiasm is high." - --------------------------------------------------------------------------------- - -via: http://www.serverwatch.com/server-news/red-hat-revenues-power-forward-in-2015.html - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 \ No newline at end of file diff --git a/sources/news/20140625 Canonical Designers Update Ubuntu Linux Website.md b/sources/news/20140625 Canonical Designers Update Ubuntu Linux Website.md deleted file mode 100644 index 0aceb53c8a..0000000000 --- a/sources/news/20140625 Canonical Designers Update Ubuntu Linux Website.md +++ /dev/null @@ -1,41 +0,0 @@ -Canonical Designers Update Ubuntu Linux Website -================================================================================ -> The website for Canonical's Ubuntu Linux operating system has received several enhancements tailored for Chinese speakers, Ubuntu cloud users and others. - -![](http://thevarguy.com/site-files/thevarguy.com/files/imagecache/medium_img/uploads/2014/06/untitled_6.png) - -[Ubuntu.com][1], the website of [Canonical][2]'s Linux-based operating system for PCs, servers, the cloud and (maybe soon) mobile devices, has received a series of subtle but significant upgrades recently, and more are on the way. Here's a look at the latest site updates and additions for the cloud, Canonical's partner network and more. - -The Ubuntu design team outlined the enhancements to ubuntu.com in a recent [blog post][3]. The full list of changes is available there, but the most significant tweaks and updates include: - -- The creation of a Chinese site for Ubuntu, [ubuntu-china.cn][4], which could help create new inroads for Canonical in the Asian market, where Ubuntu has traditionally taken a backseat to locally grown Linux distributions. The move may also help to strengthen Canonical's relationship with China-based [Meizu][5], one of the two hardware manufacturers with which it has [partnered][6] to deliver mobile phones running Ubuntu by the end of this year. -- A new version of [Ubuntu Insights][7], a Web portal where Canonical publishes news about the Ubuntu world. - -Those are only the changes that the design team has already completed. Currently in the works for future implementation are: - -- Updates to the Web interface for Canonical's [Juju][8] cloud orchestration service. -- The debut of a series of changes throughout the Ubuntu website that will make it more "[responsive][9]," which means enhancing readability, accessibility and the general visitor experience across different types of devices. -- A new [Ubuntu Partners][10] website. -- Further development of the Chinese Ubuntu website, including the addition of cloud and server sections. - -All of these updates are good news for Canonical's customers and partners. But what makes the changes truly remarkable is how far Ubuntu's Web presence has evolved since the operating system's debut nearly 10 years ago, when ubuntu.com looked like [this][11], and the landing page primarily featured images of people dressed in workout clothes. - --------------------------------------------------------------------------------- - -via: http://thevarguy.com/ubuntu/062314/canonical-designers-update-ubuntu-linux-website - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://ubuntu.com/ -[2]:http://canonical.com/ -[3]:http://design.canonical.com/2014/06/latest-from-the-web-team-june-2014/ -[4]:http://ubuntu-china.cn/ -[5]:http://www.meizu.com/ -[6]:http://thevarguy.com/ubuntu/022014/ubuntu-linux-phones-will-ship-2014-says-canonical -[7]:http://insights.ubuntu.com/ -[8]:https://juju.ubuntu.com/ -[9]:http://design.canonical.com/2014/03/making-ubuntu-com-responsive/ -[10]:http://www.ubuntu.com/partners -[11]:http://web.archive.org/web/20041106014450/http://www.ubuntu.com/ \ No newline at end of file diff --git a/sources/news/20140625 Google Forks Open Source OpenSSL Web Security Code.md b/sources/news/20140625 Google Forks Open Source OpenSSL Web Security Code.md deleted file mode 100644 index ca2f033ab4..0000000000 --- a/sources/news/20140625 Google Forks Open Source OpenSSL Web Security Code.md +++ /dev/null @@ -1,38 +0,0 @@ -2q1w2007翻译中 -谷歌分支了开源的 OpenSSL 网站安全代码 -================================================================================ -> 谷的 BoringSSL, 一个开源用来加盟网站数据的的OpenSSL分支,将会向开源社区提交代码 - -![](http://thevarguy.com/site-files/thevarguy.com/files/imagecache/medium_img/uploads/2014/06/grayscale6jpgcropdisplay.jpg) - -因为[Heartbleed][1]暴露出的脆弱, 用来加密网页传输的开源OpenSSL的变种可能和口袋妖怪里的角色一样多。前两天, Google (GOOG) 成为了最早宣布自己的OpenSSL分支的组织,其分支叫做BoringSSL。 - -Google的开发者Adam Langley announced BoringSSL—a name he described as "aspirational," presumably because Google hopes the new software will prove more drama-free than OpenSSL—in a [blog post][2] on June 20. - -Google has made its own modifications to the OpenSSL code for some time for use in Chrome and other offerings, Langley said. But going forward, the company intends to fork OpenSSL entirely to create a separate solution, a change it hopes will simplify development on Google's end. - -That said, Langley emphasized that Google is "not aiming to replace OpenSSL as an open source project," and will continue sharing code with the OpenSSL developers when it will help them fix bugs in their own software. Those code contributions will be available under an [ISC license][3], a type of open source license that the [GNU folks][4]—who probably spend more time than anyone else worrying about keeping software Free—regard as essentially [kosher][5]. - -Yet while BoringSSL may do little to upset the Free Software crowd, it's making a confusing situation worse for the open source community. Previously, OpenSSL was the sole widely used open source solution for encrypting traffic sent to and from Web pages on millions of servers. But following the security fiasco called Heartbleed, when it became apparent that a bug (which has now been fixed) in OpenSSL allowed third parties to snoop data, consensus around OpenSSL as the best solution for implementing this very important piece of Web functionality has evaporated. - -Shortly after Heartbleed, a group of open source developers forked the OpenSSL code into [LibReSSL][6] because they believe the former was "[not developed by a responsible team][7]." At the same time, the [Linux Foundation][8] and its partners are spending potentially millions of dollars trying to inject new life—and public faith—into OpenSSL through the [Core Infrastructure Initiative][9]. - -Now Google has gone off on in yet another direction with BoringSSL, a move that does nothing to advance faith in either OpenSSL or LibReSSL. And that means the open source community's development resources are being spread even thinner, a situation that can only be resolved if one OpenSSL-variant emerges to rule them all. - --------------------------------------------------------------------------------- - -via:http://thevarguy.com/open-source-application-software-companies/062314/google-forks-open-source-openssl-web-security-code-boring - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://heartbleed.com/ -[2]:https://www.imperialviolet.org/2014/06/20/boringssl.html -[3]:http://en.wikipedia.org/wiki/ISC_license -[4]:https://www.gnu.org/ -[5]:https://www.gnu.org/licenses/license-list.html#ISC -[6]:http://www.libressl.org/ -[7]:http://opensslrampage.org/post/82973312181/openssl-is-not-developed-by-a-responsible-team -[8]:http://linuxfoundation.org/ -[9]:http://thevarguy.com/open-source-application-software-companies/053014/core-infrastructure-initiative-endorses-open-source-netwo \ No newline at end of file diff --git a/sources/news/20140625 Linux Domination or Ubuntu Uncertainty and Nerdy Enlightenment.md b/sources/news/20140625 Linux Domination or Ubuntu Uncertainty and Nerdy Enlightenment.md deleted file mode 100644 index 5aa5c0e487..0000000000 --- a/sources/news/20140625 Linux Domination or Ubuntu Uncertainty and Nerdy Enlightenment.md +++ /dev/null @@ -1,26 +0,0 @@ -Linux Domination, Ubuntu Uncertainty, and Nerdy Enlightenment -================================================================================ -![](http://www.tuxmachines.org/images/tux.png) - -here are some interesting stories today in Linuxville. Steven J. Vaughan-Nichols is reporting that Linux dominates on supercomputers more than ever. Arstechnica says "Mint 17 is the perfect place for Linux-ers to wait out Ubuntu uncertainty." Linux Tycoon Bryan Lunduke reviews Enlightenment 17 and Jamie Watson says Makulu Linux 6 makes him smile. This and more in tonight's Linux news recap. - -**Over at ZDNet**, Steven J. [Vaughan-Nichols reports][1] the findings that Linux is once again the fastest operating system on the world's leading supercomputers. But not only that, Vaughan-Nichols says, "In the latest contest, not only did Linux dominate, but Linux showed that is slowly pushing out all its competitors." Linux runs on 97% of them. Only two of the Top 500 run Windows, the other 13 Unix. Despite their speed records, Linux developers are still trying to go even faster because Vaughan-Nichols says, "research and businesses, especially the stock markets and trading companies, not only want but need even faster computers." - -**Another notable** on ZDNet today is Jamie Watson's review of Makulu Linux 6.0 KDE saying it's "guaranteed to make you smile." This release ships with Linux 3.14.7, KDE 4.13.1, and a more modern but cranky installer. He says of this release, "It's big, it's beautiful, it's fun, and it is chock full of just about everything imaginable." [He concludes][2] that it's about as much fun as one can have with a Linux distribution. - -**arstechnica** reviews Mint 17 saying it's an important release because of being based on Ubuntu 14.04 LTS. They contend Mint and its users can sit back and enjoy Mint while Ubuntu suffers the growing pains of Mir and Unity until 2016. Reviewer Scott Gilbertson says Mint 17 is a "great base" to update the next two years. He looks at both the Cinnamon and MATE versions of Mint 17 closely, but touches on the Xfce and Debian editions as well as the common elements of them all. [Gilbertson concludes][3], "Linux Mint 17 makes a fantastic Linux desktop right now. It's stable, familiar enough for Windows refugees to pick it up without missing a beat, and has all the familiar tools Ubuntu fans would expect." - -**Speaking of Ubuntu**, The Var Guy posted of the Ubuntu website updates. Posts from the Design Team have been appearing on the company website on the topic of its designs for a while, but today Christopher [Tozzi summed][4] it all up nicely saying, "All of these updates are good news for Canonical's customers and partners. But what makes the changes truly remarkable is how far Ubuntu's Web presence has evolved since the operating system's debut nearly 10 years ago, when ubuntu.com looked like this, and the landing page primarily featured images of people dressed in workout clothes." - --------------------------------------------------------------------------------- - -via: http://ostatic.com/blog/linux-domination-ubuntu-uncertainty-and-nerdy-enlightenment - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://www.zdnet.com/linux-dominates-supercomputers-as-never-before-7000030890/ -[2]:http://www.zdnet.com/makulu-linux-6-0-kde-guaranteed-to-make-you-smile-7000030833/ -[3]:http://arstechnica.com/gadgets/2014/06/mint-17-the-perfect-place-for-linux-ers-to-wait-out-ubuntu-uncertainty/ -[4]:http://thevarguy.com/ubuntu/062314/canonical-designers-update-ubuntu-linux-website \ No newline at end of file From b41736e73ce20bdd9dc88d813f640fa1027409c4 Mon Sep 17 00:00:00 2001 From: Oolong Tea Date: Wed, 2 Jul 2014 22:08:48 +0800 Subject: [PATCH 45/56] =?UTF-8?q?=E4=B9=8C=E9=BE=99=E8=8C=B6=20=E7=BF=BB?= =?UTF-8?q?=E8=AF=91=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sources/tech/20140701 Command Line Tuesdays--Part Two.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sources/tech/20140701 Command Line Tuesdays--Part Two.md b/sources/tech/20140701 Command Line Tuesdays--Part Two.md index 5f54ac0703..ff0516d715 100644 --- a/sources/tech/20140701 Command Line Tuesdays--Part Two.md +++ b/sources/tech/20140701 Command Line Tuesdays--Part Two.md @@ -1,3 +1,4 @@ +乌龙茶占坑 Command Line Tuesdays – Part Two ================================================================================ Heya geekos! @@ -65,4 +66,4 @@ via: https://news.opensuse.org/2014/06/24/command-line-tuesdays-part-two/ [1]:https://news.opensuse.org/2014/06/10/command-line-tuesdays-part-one/ [2]:http://devopsbootcamp.readthedocs.org/ -[3]:https://news.opensuse.org/2014/06/24/command-line-tuesdays-part-two/comment-page-1/#comment-99186 \ No newline at end of file +[3]:https://news.opensuse.org/2014/06/24/command-line-tuesdays-part-two/comment-page-1/#comment-99186 From 2d4765f8e5271d6c94bd2fa2591636526cabb9ba Mon Sep 17 00:00:00 2001 From: wxy Date: Wed, 2 Jul 2014 22:18:10 +0800 Subject: [PATCH 46/56] PUB:20140607 How to turn Vim into a full-fledged IDE @CNprober --- ...How to turn Vim into a full-fledged IDE.md | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) rename {translated/talk => published}/20140607 How to turn Vim into a full-fledged IDE.md (59%) diff --git a/translated/talk/20140607 How to turn Vim into a full-fledged IDE.md b/published/20140607 How to turn Vim into a full-fledged IDE.md similarity index 59% rename from translated/talk/20140607 How to turn Vim into a full-fledged IDE.md rename to published/20140607 How to turn Vim into a full-fledged IDE.md index 64b8b47e7f..6705ceefc3 100644 --- a/translated/talk/20140607 How to turn Vim into a full-fledged IDE.md +++ b/published/20140607 How to turn Vim into a full-fledged IDE.md @@ -1,27 +1,25 @@ -CNprober 翻译完成.travelwithheart@yeah.net, 619913541 - 如何将Vim打造成一个成熟的IDE ================================================================================ -如果你稍微写一点代码,就能知道“集成开发环境”(IDE)是多么的便利。不管是Java、C还是Python,当IDE会帮你检查语法、后台编译,或者自动导入你需要的库时,写代码就变得容易许多。另外,如果你工作在Linux上,你也会知道Vim在进行文本编辑的时候是多么的方便。所以,你可能会想从Vim中也获取这些IDE特性。 +如果你稍微写过一点代码,就能知道“集成开发环境”(IDE)是多么的便利。不管是Java、C还是Python,当IDE会帮你检查语法、后台编译,或者自动导入你需要的库时,写代码就变得容易许多。另外,如果你工作在Linux上,你也会知道Vim在进行文本编辑的时候是多么的方便。所以,你可能会想从Vim中也获取这些IDE特性。 -事实上,很少有方法可以帮你做到。有些人可能会想到试着把Vim打造成C语言IDE的 [c.vim][1], 或者把Vim集成到Eclipse里的 [Eclim][2] 。但是我想要告诉你的是一个更加通用的,只用插件实现的方案。你肯定不想因为安装了太多的面板和特性而让你的编辑器变得臃肿不堪。只用插件实现的方案可以让你只选择那些你想要集成到Vim的特性。这样做的额外的一个好处是,这个IDE不是专门针对某一种语言的,可以让你写任何类型的代码。下面就来看一下我的 **把IDE特性带进Vim的前10款插件** 吧。 +事实上,很少有方法可以帮你做到。有些人可能会想到试着把Vim打造成C语言IDE的,比如[c.vim][1];也有把Vim集成到Eclipse里的 [Eclim][2] 。但是我想要告诉你的是一个更加通用的,只用插件实现的方案。你肯定不想因为安装了太多的面板和特性而让你的编辑器变得臃肿不堪。只用插件实现的方案可以让你只选择那些你想要集成到Vim的特性。这样做的额外的一个好处是,这个IDE不是专门针对某一种语言的,可以让你写任何类型的代码。下面就来看一下我的 **把IDE特性带进Vim的前10款插件** 吧。 ### 先来个福利: Pathogen ### -首先,可能不是所有人都熟悉Vim的插件,也不知道怎么安装这些插件。所以,我推荐的第一个插件就是[Pathogen][3],因为这个插件会让你更容易安装其他插件。如果你要安装另外的没有在这里列出来的插件,用Pathogen会变得非常简单。[官方页面][3]文档写的非常好,去下载安装一个吧。接下来插件的安装也会变得容易很多。 +首先,可能不是所有人都熟悉Vim的插件,并知道该怎么安装这些插件。所以,我推荐的第一个插件就是[Pathogen][3],因为这个插件会让你更容易安装其他插件。如果你要安装另外的没有在这里列出来的插件,用Pathogen会变得非常简单。它的[官方页面][3]的文档写的非常好,去下载安装一个吧。接下来插件的安装也会变得容易很多。 ### 1. SuperTab ### -[![](https://farm6.staticflickr.com/5158/14332189422_34aeb086ed_z.jpg)][4] +![](https://c2.staticflickr.com/6/5158/14332189422_34aeb086ed_z.jpg) -我们习惯于IDE的第一件事就是它的自动补全功能。所以,我习惯这个非常方便的,给了Tab键“超能力”的 [SuperTab][5] 插件。 +我们习惯于IDE的第一个原因就是它的自动补全功能。所以,我喜欢这个非常方便的,给了Tab键“超能力”的 [SuperTab][5] 插件。 ### 2. Syntastic ### ![](https://farm4.staticflickr.com/3894/14354095583_ce9b112b97_z.jpg) -如果你需要使用超过一种语言进行编码,有时候是非常容易混淆不同语言之间的语法的。幸运的是,[syntastic][6] 会帮你检查,然后告诉你是否应该加上圆括号或者方括号,或者告诉你在某个地方,你忘了一个分号。 +如果你需要使用一种以上的语言进行编程,有时候是非常容易混淆不同语言之间的语法的。幸运的是,[syntastic][6] 会帮你检查,然后告诉你是否应该加上圆括号或者方括号,或者告诉你在某个地方,你忘了一个分号。 ### 3. Auto Pairs ### @@ -29,11 +27,11 @@ CNprober 翻译完成.travelwithheart@yeah.net, 619913541 ### 4. NERD Commenter ### -如果你在找一个可以支持多种程序语言的注释代码的快捷键,你可以试试 [NERD Commenter][8]。即使你不是程序员,我也非常非常推荐这款插件,因为它会让你在注释bash 脚本或者其他任何东西的时候都会变得非常高效。 +如果你在找一个可以支持多种程序语言的注释代码的快捷键,你可以试试 [NERD Commenter][8]。即使你不是程序员,我也非常非常推荐这款插件,因为它会让你在注释bash脚本或者其他任何东西的时候都会变得非常高效。 ### 5. Snipmate ### -任何一个程序员都知道,好的coder写代码,杰出的coder重用代码。[snipmate][9] 可以容易的插入代码片段到你的文件里面,大大的减少了你敲键盘的次数。它默认的有很多各种语言的代码片段,你也可以非常容易的添加你自己。 +任何一个程序员都知道,好的码农写代码,杰出的码神重用代码。[snipmate][9]可以容易的插入代码片段到你的文件里面,大大的减少了你敲键盘的次数。它默认的包含了很多各种语言的代码片段,你也可以非常容易的添加你自己的。 ### 6. NERDTree ### @@ -46,19 +44,22 @@ CNprober 翻译完成.travelwithheart@yeah.net, 619913541 ![](https://farm4.staticflickr.com/3904/14332189492_209a3ee2dc_z.jpg) 为了打造一个文件浏览器,支持同时打开多个文件,没有什么比一个好的缓冲区管理器更重要了。[MiniBufferExplorer][11] 就可以非常漂亮和高效地完成这个工作。它甚至为你的缓冲区设置了不同的颜色和切换快捷键。 + ### 8. Tag List ### ![](https://farm4.staticflickr.com/3889/14147244138_c04731826a_z.jpg) -当你同时有多个文件打开时,很容易忘了你都在这些文件里添加了什么。为了防止你忘记,[Tag List][12] 这个代码查看器将会用一种漂亮简洁的格式展示不同的变量和函数。 +当你同时有多个文件打开时,很容易忘了你都在这些文件里添加了什么。为了防止你忘记,[Tag List][12] 这个代码查看器将会用一种漂亮简洁的格式展示其中的的变量和函数。 + ### 9. undotree ### ![](https://farm3.staticflickr.com/2913/14354095453_8bb87a3e31_z.jpg) 对于我们之中那些喜欢undo,redo然后又undo某些更改,然后依据这些来查看整个编辑完成过程的人来说, [undotree][13] 是一个不错插件,可以以一棵树的形式看到你的undo和redo历史。这个功能跟代码完全没有关系,所以这是我非常喜欢的一个插件。 + ### 10. gdbmgr ### -最后,但并非不重要的是,每个人都在某时刻需要一个调试器。如果你喜欢gdb,那么[gbdmgr][14]就是为你准备的,因为它集成了那个著名的调试器到Vim中。 +最后,但并非不重要,每个人都在某个时刻需要一个调试器。如果你喜欢gdb,那么[gbdmgr][14]就是为你准备的,因为它集成了那个著名的调试器到Vim中。 总结一下,不管你是不是一个疯狂的coder,能有一些额外的Vim功能在手总是非常方便的。像我在简介里说到的,如果你不需要,你不用安装这里所有的这些插件。或者你想要安装另外的也行,这些其实只是一个基础入门级的插件。 @@ -68,7 +69,7 @@ CNprober 翻译完成.travelwithheart@yeah.net, 619913541 via: http://xmodulo.com/2014/06/turn-vim-full-fledged-ide.html -译者:[love_daisy_love](https://github.com/CNprober) 校对:[校对者ID](https://github.com/校对者ID) +译者:[love\_daisy\_love](https://github.com/CNprober) 校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From 760e06b07e5e5a01020e07e5dd08ea12afa2a826 Mon Sep 17 00:00:00 2001 From: wxy Date: Wed, 2 Jul 2014 22:55:47 +0800 Subject: [PATCH 47/56] PUB:20140617 How to Share Files Between Windows, Mac, and Linux PCs on a Network @geekpi --- ...indows, Mac, and Linux PCs on a Network.md | 43 +++++++++---------- 1 file changed, 21 insertions(+), 22 deletions(-) rename {translated/tech => published}/20140617 How to Share Files Between Windows, Mac, and Linux PCs on a Network.md (58%) diff --git a/translated/tech/20140617 How to Share Files Between Windows, Mac, and Linux PCs on a Network.md b/published/20140617 How to Share Files Between Windows, Mac, and Linux PCs on a Network.md similarity index 58% rename from translated/tech/20140617 How to Share Files Between Windows, Mac, and Linux PCs on a Network.md rename to published/20140617 How to Share Files Between Windows, Mac, and Linux PCs on a Network.md index 540b9bc718..72ff9e4851 100644 --- a/translated/tech/20140617 How to Share Files Between Windows, Mac, and Linux PCs on a Network.md +++ b/published/20140617 How to Share Files Between Windows, Mac, and Linux PCs on a Network.md @@ -1,39 +1,38 @@ -如何在网络上在Windows,MAC和Linux之间共享文件 +如何通过网络在Windows、MAC和Linux之间共享文件 ================================================================================ ![](http://cdn.howtogeek.com/wp-content/uploads/2014/06/windows-mac-and-linux-network.jpg) -家庭[文件共享][1]曾经是一个噩梦,即使在不同的Windows版本之间- 没有考虑Mac和Linux! 这些操作系统现在可以相互通信并且无需特殊软件就可共享文件。 +家庭[文件共享][1]曾经是一个噩梦,即使在不同的Windows版本之间—— 甚至不考虑Mac和Linux!但现在这些操作系统可以相互通信并且无需特殊软件就可共享文件。 -我们之前使用SMB协议来做到这点。Windows使用SMB来做文件共享,同时Mac和Linux发行版都内置支持SMB。Microsoft甚至给开源Samba项目[提交补丁][2]来改进它! +我们之前使用SMB协议来做到这点。Windows使用SMB来做文件共享,同时Mac和Linux发行版都内置支持SMB。Microsoft甚至给开源Samba项目[提交过补丁][2]来改进它! -### 在Windows上共享一个文件夹 ### +### 在Windows上共享文件夹 ### -既然其他操作系统不能访问家庭组,您需要[启用Windows老式的文件共享][3]。要做到这点,打开控制面板进入网络和共享> 更改高级共享设置。启用“网络发现”和“文件与打印共享”。 +既然其他操作系统不能访问家庭组,您需要[启用Windows老式的文件共享][3]。要做到这点,打开控制面板进入网络和共享> 更改高级共享设置。启用“网络发现”和“文件与打印共享”。 - -如果你想要无需密码访问共享文件夹你还需要微调一下选项。 +如果你想要无需密码访问共享文件夹你还需要微调一下其它选项。 ![](http://cdn.howtogeek.com/wp-content/uploads/2014/06/enable-file-and-printer-sharing-for-mac-and-linux-on-windows.png) -在Windows Explorer或者File Explorer中定位你想共享的文件夹,右键点击,选择属性。点击共享标签,并使用这里的选项来共享和配置文件夹的权限。 +在Windows Explorer或者File Explorer中找到你想共享的文件夹,右键点击,选择属性。点击共享标签,并使用这里的选项来共享和配置文件夹的权限。 ![](http://cdn.howtogeek.com/wp-content/uploads/2014/06/share-windows-folders-with-mac-and-linux-on-local-network.png) ### 在Windows上访问共享文件夹 ### -在Windows Explorer或者File Explorer中访问窗格来浏览其他计算机共享给你的文件。你会看到正确配置后的Mac和Linux计算机在Windows PC机附近出现了。双击一台计算机来查看它的共享文件。 +在Windows Explorer或者File Explorer中访问网络面板来浏览其他计算机共享给你的文件。你会看到正确配置后的Mac和Linux计算机在Windows PC机附近出现了。双击一台计算机来查看它的共享文件。 ![](http://cdn.howtogeek.com/wp-content/uploads/2014/06/access-ubuntu-linux-shared-folder-on-windows.png) -如果你知道计算机名或者IP地址,你同样可以直接连接到这台计算机上,只需要在Windows Explorer或者File Explorer中输入//计算名后按下回车就可以了 如果你希望直接通过IP地址连接,只需要将计算机名换成IP地址就可以了 +如果你知道计算机名或者IP地址,你同样可以直接连接到这台计算机上,只需要在Windows Explorer或者File Explorer中输入\\计算名后按下回车就可以了。如果你希望直接通过IP地址连接,只需要将计算机名换成IP地址就可以了 ![](http://cdn.howtogeek.com/wp-content/uploads/2014/06/directly-access-network-share-on-windows.png) ### 在Mac OS X 上共享文件夹 ### -你需要在你的Mac上启用网络文件共享来共享文件。双击苹果logo,并选择系统偏好。点击共享图标并启用文件共享。点击选项按钮,并确认“使用SMB共享文件和文件夹”已经启用。 +你需要在你的Mac上启用网络文件共享来共享文件。点击桌面左上角的苹果logo,并选择系统偏好。点击共享图标并启用文件共享。点击选项按钮,并确认“使用SMB共享文件和文件夹”已经启用。 -在共享文件夹那列中选择额外要共享的文件夹。使用用户列来选择哪些用户和组可以访问和写入它们 +在共享文件夹那列中选择添加要共享的文件夹。使用用户列来选择哪些用户和组可以访问和写入它们 ![](http://cdn.howtogeek.com/wp-content/uploads/2014/06/share-folder-with-windows-from-mac-os-x.png) @@ -43,19 +42,19 @@ ![](http://cdn.howtogeek.com/wp-content/uploads/2014/06/directly-connect-to-windows-file-share-on-a-mac.png) -你会被提示你用相应的凭证来验证或者以访客方式登录。连接完成后,在Finder的侧边栏的共享列中就会出现这台计算机, +你会被提醒你应该用相应的凭证来验证或者以访客方式登录。连接完成后,在Finder的侧边栏的共享列中就会出现这台计算机, -要在你每次登录后自动链接到共享文件夹,打开系统偏好窗口并进入用户与组> 登录项。从finder中的共享列中的网络共享拖拽到登录项列表中 +要在你每次登录后自动链接到共享文件夹,打开系统偏好窗口并进入用户与组 > 登录项。从finder中的共享列中的网络共享拖拽到登录项列表中 ![](http://cdn.howtogeek.com/wp-content/uploads/2014/06/windows-shared-folder-on-mac.png) -### 在 Linux 中共享一个文件夹 ### +### 在 Linux 中共享文件夹 ### -在Linux上使用你桌面文件管理器来共享一个文件。这里我们在Ubuntu 14.04上使用Nautilus,但是在其他文件管理器上的过程应该是相似的。 +在Linux上使用你桌面文件管理器来共享文件夹。这里,我们使用Ubuntu 14.04上的Nautilus,不过其他文件管理器上的过程应该是相似的。 -打开文件管理器,在想要共享的文件上右键,选择属性。剪辑本地网络共享标签并对这个文件启用共享。如果这是你第一次启用共享,你会被提示要求安装Samba软件- 这在你提供密码的时候会自动显示。 +打开文件管理器,在想要共享的文件上右键,选择属性。点击本地网络共享标签并对这个文件启用共享。如果这是你第一次启用共享,你会被提示要求安装Samba软件——这在你提供密码的时候会自动显示。 -在安装玩Samba软件后配置共享设置- 确认点击创建共享按钮来开始共享文件夹。 +在安装完Samba软件后配置共享设置- 确认点击创建共享按钮来开始共享文件夹。 ![](http://cdn.howtogeek.com/wp-content/uploads/2014/06/share-folder-from-ubuntu-linux-with-windows-pc-over-local-network.png) @@ -63,21 +62,21 @@ 你的Linux桌面文件管理器可能包含了一个网络浏览器,它可以用来定位并访问在本地网络的共享文件夹。 -在文件管理器的侧边栏点击浏览网络选项。接着双击Windows网络选项,双击你的工作组(默认是WORKFROUP),双击临近的计算机来浏览它的共享文件。 +在文件管理器的侧边栏点击浏览网络选项。接着双击Windows网络选项,双击你的工作组(默认是WORKFROUP),双击邻近的计算机来浏览它的共享文件。 ![](http://cdn.howtogeek.com/wp-content/uploads/2014/06/browse-windows-network-shares-on-ubuntu.png) -为了直接连接到一台计算机,选中Nautilus中的连接到服务器选项,并输入像这样的远程计算机:smb://COMPUTERNAME +要直接连接到一台计算机,选中Nautilus中的“连接到服务器”选项,并输入像这样的远程计算机地址:smb://COMPUTERNAME ![](http://cdn.howtogeek.com/wp-content/uploads/2014/06/directly-connect-to-windows-shared-folder-on-ubuntu.png) -然而在你连接时,你可能需要使用具有访问远程计算机权限的用户名和密码来验证。这依赖于你是否启用了访客访问以及你如何设置你的文件夹共享权限。 +不过在你连接时,你可能需要使用具有访问远程计算机权限的用户名和密码来验证。这依赖于你是否启用了访客访问以及你如何设置你的文件夹共享权限。 -------------------------------------------------------------------------------- via: http://www.howtogeek.com/191116/how-to-share-files-between-windows-mac-and-linux-pcs-on-a-network/ -译者:[geekpi](https://github.com/geekpi) 校对:[校对者ID](https://github.com/校对者ID) +译者:[geekpi](https://github.com/geekpi) 校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From 54223853116d81774f5caab40d9d6f9a11236345 Mon Sep 17 00:00:00 2001 From: DeadFire Date: Thu, 3 Jul 2014 13:42:32 +0800 Subject: [PATCH 48/56] =?UTF-8?q?20140703-1=20=E9=80=89=E9=A2=98=20The=20h?= =?UTF-8?q?istory=20of=20Android=20=E7=B3=BB=E5=88=97=E6=96=87=E7=AB=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../01 - The history of Android.md | 202 ++++++++++++++++++ .../02 - The history of Android.md | 78 +++++++ .../03 - The history of Android.md | 64 ++++++ .../04 - The history of Android.md | 75 +++++++ .../05 - The history of Android.md | 88 ++++++++ .../06 - The history of Android.md | 73 +++++++ .../07 - The history of Android.md | 109 ++++++++++ .../08 - The history of Android.md | 128 +++++++++++ .../09 - The history of Android.md | 76 +++++++ .../10 - The history of Android.md | 88 ++++++++ .../11 - The history of Android.md | 85 ++++++++ .../12 - The history of Android.md | 98 +++++++++ .../13 - The history of Android.md | 104 +++++++++ .../14 - The history of Android.md | 82 +++++++ .../15 - The history of Android.md | 86 ++++++++ .../16 - The history of Android.md | 66 ++++++ .../17 - The history of Android.md | 86 ++++++++ .../18 - The history of Android.md | 83 +++++++ .../19 - The history of Android.md | 71 ++++++ .../20 - The history of Android.md | 93 ++++++++ .../21 - The history of Android.md | 103 +++++++++ .../22 - The history of Android.md | 84 ++++++++ .../23 - The history of Android.md | 59 +++++ .../24 - The history of Android.md | 82 +++++++ .../25 - The history of Android.md | 70 ++++++ .../26 - The history of Android.md | 87 ++++++++ 26 files changed, 2320 insertions(+) create mode 100644 sources/talk/The history of Android/01 - The history of Android.md create mode 100644 sources/talk/The history of Android/02 - The history of Android.md create mode 100644 sources/talk/The history of Android/03 - The history of Android.md create mode 100644 sources/talk/The history of Android/04 - The history of Android.md create mode 100644 sources/talk/The history of Android/05 - The history of Android.md create mode 100644 sources/talk/The history of Android/06 - The history of Android.md create mode 100644 sources/talk/The history of Android/07 - The history of Android.md create mode 100644 sources/talk/The history of Android/08 - The history of Android.md create mode 100644 sources/talk/The history of Android/09 - The history of Android.md create mode 100644 sources/talk/The history of Android/10 - The history of Android.md create mode 100644 sources/talk/The history of Android/11 - The history of Android.md create mode 100644 sources/talk/The history of Android/12 - The history of Android.md create mode 100644 sources/talk/The history of Android/13 - The history of Android.md create mode 100644 sources/talk/The history of Android/14 - The history of Android.md create mode 100644 sources/talk/The history of Android/15 - The history of Android.md create mode 100644 sources/talk/The history of Android/16 - The history of Android.md create mode 100644 sources/talk/The history of Android/17 - The history of Android.md create mode 100644 sources/talk/The history of Android/18 - The history of Android.md create mode 100644 sources/talk/The history of Android/19 - The history of Android.md create mode 100644 sources/talk/The history of Android/20 - The history of Android.md create mode 100644 sources/talk/The history of Android/21 - The history of Android.md create mode 100644 sources/talk/The history of Android/22 - The history of Android.md create mode 100644 sources/talk/The history of Android/23 - The history of Android.md create mode 100644 sources/talk/The history of Android/24 - The history of Android.md create mode 100644 sources/talk/The history of Android/25 - The history of Android.md create mode 100644 sources/talk/The history of Android/26 - The history of Android.md diff --git a/sources/talk/The history of Android/01 - The history of Android.md b/sources/talk/The history of Android/01 - The history of Android.md new file mode 100644 index 0000000000..d6b12482f9 --- /dev/null +++ b/sources/talk/The history of Android/01 - The history of Android.md @@ -0,0 +1,202 @@ +The history of Android +================================================================================ +> Follow the endless iterations from Android 0.5 to Android 4.4. + +![Android's home screen over the years.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/its-been-quite-a-journey1.jpg) +Android's home screen over the years. +Photo by Ron Amadeo + +Android has been with us in one form or another for more than six years. During that time, we've seen an absolutely breathtaking rate of change unlike any other development cycle that has ever existed. When it came time for Google to dive in to the smartphone wars, the company took its rapid-iteration, Web-style update cycle and applied it to an operating system, and the result has been an onslaught of continual improvement. Lately, Android has even been running on a previously unheard of six-month development cycle, and that's slower than it used to be. For the first year of Android’s commercial existence, Google was putting out a new version every two-and-a-half months. + +注:youtube视频地址开始 + + +Google's original introduction of Android, from way back in November 2007. +注:youtube视频地址结束 + +The rest of the industry, by comparison, moves at a snail's pace. Microsoft updates its desktop OS every three to five years, and Apple is on a yearly update cycle for OS X and iOS. Not every update is created equal, either. iOS has one major design revision in seven years, and the newest version of Windows Phone 8 looks very similar to Windows Phone 7. On Android, however, users are lucky if anything looks the same this year as it did last year. The Play Store, for instance, has had five major redesigns in five years. For Android, that's normal. + +Looking back, Android's existence has been a blur. It's now a historically big operating system. Almost a billion total devices have been sold, and 1.5 million devices are activated per day—but how did Google get here? With this level of scale and success, you would think there would be tons of coverage of Android’s rise from zero to hero. However, there just isn’t. Android wasn’t very popular in the early days, and until Android 4.0, screenshots could only be taken with the developer kit. These two factors mean you aren’t going to find a lot of images or information out there about the early versions of Android. + +The problem now with the lack of early coverage is that *early versions of Android are dying*. While something like Windows 1.0 will be around forever—just grab an old computer and install it—Android could be considered the first cloud-based operating system. Many features are heavily reliant on Google’s servers to function. With fewer and fewer people using old versions of Android, those servers are being shut down. And when a cloud-reliant app has its server support shut off, it will never work again—the app crashes and displays a blank screen, or it just refuses to start. + +Thanks to this “[cloud rot][1]," an Android retrospective won’t be possible in a few years. Early versions of Android will be empty, broken husks that won't function without cloud support. While it’s easy to think of this as a ways off, it's happening right now. While writing this piece, we ran into tons of apps that no longer function because the server support has been turned off. Early clients for Google Maps and the Android Market, for instance, are no longer able to communicate with Google. They either throw an error message and crash or display blank screens. Some apps even worked one week and died the next, because Google was actively shutting down servers during our writing! + +To prevent any more of Android's past from being lost to the annals of history, we did what needed to be done. This is 20+ versions of Android, seven devices, and lots and lots of screenshots cobbled together in one space. This is The History of Android, from the very first public builds to the newest version of KitKat. + +注:下面一块为文章链接列表,发布后可以改为发布后的地址 +---------- + +### Table of Contents ### + +- [Android 0.5 Milestone 3—the first public build][10] +- [Android 0.5 Milestone 5—the land of scrapped interfaces][11] +- [Android 0.9 Beta—hey, this looks familiar!][12] +- [Android 1.0—introducing Google Apps and actual hardware][13] +- [Android 1.1—the first truly incremental update][14] +- [Android 1.5 Cupcake—a virtual keyboard opens up device design][15] +- ----[Google Maps is the first built-in app to hit the Android Market][16] +- [Android 1.6 Donut—CDMA support brings Android to any carrier][17] +- [Android 2.0 Éclair‎—blowing up the GPS industry][18] +- [The Nexus One—enter the Google Phone][19] +- [Android 2.1—the discovery (and abuse) of animations][20] +- ----[Android 2.1, update 1—the beginning of an endless war][21] +- [Android 2.2 Froyo—faster and Flash-ier][22] +- ----[Voice Actions—a supercomputer in your pocket][23] +- [Android 2.3 Gingerbread—the first major UI overhaul][24] +- [Android 3.0 Honeycomb—tablets and a design renaissance][25] +- ----[Google Music Beta—cloud storage in lieu of a content store][26] +- [Android 4.0 Ice Cream Sandwich—the modern era][27] +- ----[Google Play and the return of direct-to-consumer device sales][28] +- [Android 4.1 Jelly Bean—Google Now points toward the future][29] +- ----[Google Play Services—fragmentation and making OS versions (nearly) obsolete][30] +- [Android 4.2 Jelly Bean—new Nexus devices, new tablet interface][31] +- ----[Out-of-cycle updates—who needs a new OS?][32] +- [Android 4.3 Jelly Bean—getting wearable support out early][33] +- [Android 4.4 KitKat—more polish; less memory usage][34] +- [Today Android everywhere][35] + +---------- + +### Android 0.5, Milestone 3—the first public build ### + +Before we go diving into Android on real hardware, we're going to start with the early, early days of Android. While 1.0 was the first version to ship on hardware, there were several beta versions only released in emulator form with the SDK. The emulators were meant for development purposes only, so they don’t include any of the Google Apps, or even many core OS apps. Still, they’re our best look into the pre-release days of Android. + +![The emulator’s default qwerty-bar layout running the Milestone 3 build.](http://cdn.arstechnica.net/wp-content/uploads/2013/11/blackberrrry.png) +The emulator’s default qwerty-bar layout running the Milestone 3 build. +Photo by Ron Amadeo + +Before whimsical candy code names and [cross-promotional deals with multinational food corporations][2], the first public release of Android was labeled "m3-rc20a"—"m3" standing for "Milestone 3." While Google may not have publicized the version number—and this build didn't even have a settings app to check—the browser user agent identifies this as "Android 0.5." + +In November 2007, two years after Google acquired Android and five months after the launch of the iPhone, [Android was announced][3], and the first emulator was released. Back then, the OS was still getting its feet under it. It was easily dismissed as "just a BlackBerry clone." The emulator used a qwerty-bar skin with a 320x240 display, replicating an [actual prototype device][4]. The device was built by HTC, and it seems to be the device that was codenamed "Sooner" according to many early Android accounts. But the Sooner was never released to market. + +[According to accounts][5] of the early development days of Android, when Apple finally showed off its revolutionary smartphone in January 2007, Google had to "start over" with Android—including scrapping the Sooner. Considering the Milestone 3 emulator came out almost a year after Apple's iPhone unveiling, it's surprising to see the device interface still closely mimicked the Blackberry model instead. While work had no doubt been done on the underlying system during that year of post-iPhone development, the emulator still launched with what was perceived as an "old school" interface. It didn't make a good first impression. + +At this early stage, it seems like the Android button layout had not been finalized yet. While the first commercial Android devices would use “Home," “Back," “Menu," and “Search" as the standard set of buttons, the emulator had a blank space marked as an "X" where you would expect the search button to be. The “Sooner" hardware prototype was even stranger—it had a star symbol as the fourth button. + +![From left to right: the home screen, an open notification, and the “apps" folder.](http://cdn.arstechnica.net/wp-content/uploads/2013/11/noti3.png) +From left to right: the home screen, an open notification, and the “apps" folder. +Photo by Ron Amadeo + +There was no configurable home screen or widgets, just a simple dock of icons at the bottom that could be cycled through or tapped on. While touch screen support worked for some features, Milestone 3 was primarily controlled with a five-way d-pad—an anachronism that Android still supports to this day. Even this early version of Android could do animations. Icons would grow and shrink as they entered and exited the dock’s center window. + +There was no notification panel yet, either. Notification icons showed up in the status bar (shown above as a smiley face), and the only way to open them was to press "up" on the d-pad while on the home screen. You couldn't tap on the icon to open it, nor could you access notifications from any screen other than home. When a notification was opened, the status bar expanded slightly, and the text of the notification appeared in a speech bubble. Once you had a notification, there was no manual way to clear it—apps were responsible for clearing their own notifications. + +App drawer duties were handled by a simple "Applications" folder on the left of the dock. Despite having a significant amount of functions, the Milestone 3 emulator was not very forthcoming with app icons. "Browser," "Contacts," and "Maps" were the only real apps here. Oddly, "recent calls" was elevated to a standalone icon. Because this was just an emulator, icons for core smartphone functionality were missing, like alarm, calendar, dialer, calculator, camera, gallery, and settings. Hardware prototypes demoed to the press had [many of these][6], and there was a suite of Google Apps up and running by this point. Sadly, there’s no way for us to look at them. They’re so old they can't connect to Google’s servers now anyway. + +![Milestone 3's menu system in the browser, the wallpaper interface, and the volume control.](http://cdn.arstechnica.net/wp-content/uploads/2013/11/menu.png) +Milestone 3's menu system in the browser, the wallpaper interface, and the volume control. +Photo by Ron Amadeo + +The now-deprecated menu system was up and running in Milestone 3. Hitting the hardware menu button brought up a gray list with a blue gradient highlight, complete with hardware keyboard shortcuts. In the screenshot above, you can see the menu open in the browser. Going to a second level, like the zoom menu, turned the first level of the menu oddly transparent. + +Surprisingly, multitasking and background applications already worked in Milestone 3. Leaving an app didn't close it—apps would save state, even down to text left in a text box. This was a feature iOS wouldn’t get around to matching until the release of iOS 4 in 2010, and it really showed the difference between the two platforms. iOS was originally meant to be a closed platform with no third-party apps, so the platform robustness wasn’t a huge focus. Android was built from the ground up to be a powerful app platform, and ease of app development was one of the driving forces behind its creation. + +Before Android, Google was already making moves into mobile with [WAP sites][7] and [J2ME flip phone apps][8], which made it acutely aware of how difficult mobile development was. According to [The Atlantic][9], Larry Page once said of the company’s mobile efforts “We had a closet full of over 100 phones, and we were building our software pretty much one device at a time.” Developers often complain about Android fragmentation now, but the problem was much, much worse before the OS came along. + +Google’s platform strategy eventually won out, and iOS ended up slowly adding many of these app-centric features—multitasking, cross-app sharing, and an app switcher—later on. + +![The dialer screen that pops up when you press numbers on the home screen, an incoming call, and the call conferencing interface.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/call10000.png) +The dialer screen that pops up when you press numbers on the home screen, an incoming call, and the call conferencing interface. +Photo by Ron Amadeo + +Despite not having a dialer icon, Milestone 3 emulator was equipped with a way to make phone calls. Pressing anything on the keyboard would bring up the screen on the left, which was a hybrid dialer/contact search. Entering only numbers and hitting the green phone hardware button would start a phone call, and letters would search contacts. Contacts were not searchable by number, however. Even a direct hit on a phone number would not bring up a contact. + +Incoming calls were displayed as an almost-full-screen popup with a sweet transparent background. Once inside a call, the background became dark gray, and Milestone 3 presented the user with a surprisingly advanced feature set: mute, speakerphone, hold, and call conferencing buttons. Multiple calls were presented as overlapping, semi-transparent cards, and users had options to swap or merge calls. Swapping calls triggered a nice little card shuffle animation. + +![The contacts list, an individual contact, editing a contact, and the recent calls screen.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/recent100.png) +The contacts list, an individual contact, editing a contact, and the recent calls screen. +Photo by Ron Amadeo + +Contacts was a stark, black and blue list of names. Contact cards had a spot for a contact picture but couldn't assign one to the space (at least in the emulator). The only frill in this area was XMPP presence dots to the left of each name in Contacts. An always-on XMPP connection has traditionally been at the heart of Android, and that deep integration already started in Milestone 3. Android used XMPP to power a 24/7 connection to Google’s servers, powering Google Talk, cloud-to-device push messaging, and app install and uninstall messages. + +![The browser’s fake Google homepage, the address bar, and the history interface.](http://cdn.arstechnica.net/wp-content/uploads/2013/11/browser3.png) +The browser’s fake Google homepage, the address bar, and the history interface. +Photo by Ron Amadeo + +The browser ran Webkit 419.3, which put it in the same era as Mac OS X 10.4's Safari 2. The homepage was not Google.com, but a hard-coded home.html file included with Android. It looked like Google.com from a thousand years ago. The browser's OS X heritage was still visible, rendering browser buttons with a glossy, Aqua-style search button. + +The tiny BlackBerry-style screen necessitated a separate address bar, which was brought up by a "go to" option in the browser's menu. While autocomplete didn't work, the address bar live searched your history as you typed. The picture on the right was the History display, which used thumbnails to display each site. The current thumbnail was in front of the other two, and scrolling through them triggered a swooping animation. But at this early stage, the browser didn’t support multiple tabs or windows—you had the current website, and that was it. + +![A video-screengrab-derived Google Maps Photoshop, the directions interface, and the gallery test view.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/maps.png) +A video-screengrab-derived Google Maps Photoshop, the directions interface, and the gallery test view. +Photo by Ron Amadeo + +From the beginning, Google knew maps would be important on mobile, even shipping a Maps client on the Milestone 5 emulator. That version of Google Maps was the first thing we came across that died from cloud rot. The client can't load information from Google’s servers, so the map displayed as a blank, gray grid. Nothing works. + +Luckily, for the first screenshot above, we were able to piece together an accurate representation from the Android launch video. Old Google Maps seemed fully prepared for a non-touch device, listing hardware key shortcuts along the bottom of the screen. It’s unclear if places worked, or if Maps only ran on addresses at this point. + +Hidden behind the menu were options for search, directions, and satellite and traffic layers. The middle screenshot is of the directions UI, where you could even pick a contact address as a start or end address. Maps lacked any kind of GPS integration, however; you can't find a "my location" button anywhere. + +While there was no proper gallery, on the right is a test view for a gallery, which was hidden in the "API Demos" app. The pictures scrolled left and right, but there was no way to open photos to a full screen view. There were no photo management options either. It was essentially a test of a scrolling picture view. + +![The time picker and calendar, with ridiculous kerning issues, and the vertical list test, featuring Ars.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/datetimeshoutout.png) +The time picker and calendar, with ridiculous kerning issues, and the vertical list test, featuring Ars. +Photo by Ron Amadeo + +There was also no settings app, but we can look at the original time and date pickers, thanks to the API Demos. This demonstrates how raw a lot of Android was: kerning issues all over the place, a huge gap in between the minute digits, and unevenly spaced days of the week on the calendar. While the time picker let you change each digit independently, there was no way to change months or years other than moving the day block out of the current month and on to the next or previous month. + +Keep in mind that while this may seem like dinosaur remnants from some forgotten era, this was only released six years ago. We tend to get used to the pace of technology. It's easy to look back on stuff like this and think that it was from 20 years ago. Compare this late-2007 timeframe to desktop OSes, and Microsoft was trying to sell Windows Vista to the world for almost a year, and Apple just released OS X 10.5 Leopard. + +One last Milestone 3 detail: Google gave Ars Technica a shoutout in the Milestone 3 emulator. Opening the “API Demos" app and going to "Views," "Focus," then "Vertical" revealed a test list headlined by *this very Website*. + +![The new emulator skin that comes with Milestone 3, RC37a, which uses a more modern, all-touchscreen style.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/bigscreen.png) +The new emulator skin that comes with Milestone 3, RC37a, which uses a more modern, all-touchscreen style. + +Photo by Ron Amadeo + +Two months later, in December 2007, Google released an update for the Milestone 3 emulator that came with a much roomier 480×320 device configuration. This was tagged "m3-rc37a." The software was still identical to the BlackBerry build, just with much more screen real estate available. + +---------- + +![Ron Amadeo](http://cdn.arstechnica.net/wp-content//uploads/authors/ron-amadeo-sq.jpg) + +[Ron Amadeo][a] / Ron is the Reviews Editor at Ars Technica, where he specializes in Android OS and Google products. He is always on the hunt for a new gadget and loves to rip things apart to see how they work. + +[@RonAmadeo][t] + +-------------------------------------------------------------------------------- + +via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://arstechnica.com/gadgets/2014/06/how-we-found-and-installed-every-version-of-android/ +[2]:http://arstechnica.com/gadgets/2013/09/official-the-next-edition-of-android-is-kitkat-version-4-4/ +[3]:http://arstechnica.com/gadgets/2007/11/its-official-google-announces-open-source-mobile-phone-os-android/ +[4]:http://www.zdnet.com/blog/mobile-gadgeteer/mwc08-hands-on-with-a-working-google-android-device/860 +[5]:http://www.theatlantic.com/technology/archive/2013/12/the-day-google-had-to-start-over-on-android/282479/ +[6]:http://www.letsgomobile.org/en/2974/google-android/ +[7]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/%E2%80%9D +[8]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/%E2%80%9D +[9]:http://www.theatlantic.com/technology/archive/2013/12/the-day-google-had-to-start-over-on-android/282479/ +[10]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/1/#milestone3 +[11]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/2/#milestone5 +[12]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/3/#0.9 +[13]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/6/#1.0 +[14]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/7/#1.1 +[15]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/8/#cupcake +[16]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/9/#Mapsmarket +[17]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/9/#donut +[18]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/10/#2.0eclair +[19]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/11/#nexusone +[20]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/12/#2.1eclair +[21]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/13/#alloutwar +[22]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/13/#froyo +[23]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/14/#voiceactions +[24]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/14/#gingerbread +[25]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/16/#honeycomb +[26]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/19/#music +[27]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/19/#ics +[28]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/21/#googleplay +[29]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/21/#4.1jellybean +[30]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/21/#playservices +[31]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/22/#4.2jellybean +[32]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/23/#outofcycle +[33]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/24/#4.3jellybean +[34]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/25/#kitkat +[35]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/26/#conclusion +[a]:http://arstechnica.com/author/ronamadeo +[t]:https://twitter.com/RonAmadeo \ No newline at end of file diff --git a/sources/talk/The history of Android/02 - The history of Android.md b/sources/talk/The history of Android/02 - The history of Android.md new file mode 100644 index 0000000000..ca8a81bf23 --- /dev/null +++ b/sources/talk/The history of Android/02 - The history of Android.md @@ -0,0 +1,78 @@ +The history of Android +================================================================================ +![Left: the Milestone 5 home screen showing the “all" button, two dock icons, and four recent apps. Center: the home screen with the app list open. Right: the power menu.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/homescree052n.jpg) +Left: the Milestone 5 home screen showing the “all" button, two dock icons, and four recent apps. Center: the home screen with the app list open. Right: the power menu. +Photo by Ron Amadeo + +### Android 0.5, Milestone 5—the land of scrapped interfaces ### + +The first major Android change came three months after the first emulator release: the "m5-rc14" build. Released in February 2008, “Milestone 5" dumped the stretched-out BlackBerry interface and went with a totally revamped design—Google's first attempt at a finger-friendly interface. + +This build was still identified as "Android 0.5" in the browser user agent string, but Milestone 5 couldn't be more different from the first release of Android. Several core Android features can directly trace their lineage back to this version. The layout and functionality of the notification panel was almost ready to ship, and, other than a style change, the menu was present in its final form, too. Android 1.0 was only eight months away from shipping, and the basics of an OS were starting to form. + +One thing that was definitely not in its final form was the home screen. It was an unconfigurable, single-screen wallpaper with an app drawer and dock. App icons were bubbly, three-color affairs, surrounded by a square, white background with rounded corners. The app drawer consisted of an "All" button in the lower-right corner, and tapping on it expanded the list of apps out to the left. Above the "All" button was a two icon dock where "Contacts" and "Dialer" were given permanent home screen real estate. The four blocks above that were an early version of Recent Apps, showing the last apps accessed. With no left or right screens and a whole column taken up by the dock and recent apps, this layout only allowed for 21 app squares before the screen would be filled. The emulator still only sported the bare-minimum app selection, but in an actual device, this design didn't appear like it would work well. + +Holding down the "end call" button brought up a super early version of the power menu, which you can see in the rightmost picture. Google didn't have the normal smartphone nomenclature down yet: "Turn Off Screen" would best be described as "Lock screen" (although there was no lock screen) and "Turn Off Radio" would be called "Airplane mode" today. + +![From left to right: the surprisingly modern notification panel, the menu open in Google Maps (Maps doesn't work anymore), and the new finger-friendly list view.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/noti2.png) +From left to right: the surprisingly modern notification panel, the menu open in Google Maps (Maps doesn't work anymore), and the new finger-friendly list view. +Photo by Ron Amadeo + +All the way back in Milestone 5, Google had the basics of the notification panel nailed down. It pulled down from the top of the screen just like it does on any modern smartphone. Current notifications displayed in a list. The first version of the notification panel was an opaque white sheet with a ribbed “handle" on the bottom and an orange dot in the center. Notifications were pressable, opening the appropriate app for that notification. No one bothered to vertically align the app icons in this list, but that's OK. This was gone in the next update. + +Sticky notifications went into an "ongoing" section at the top of the panel. In this build, that seemed to only include phone calls. The "Latest Event" notifications were clearable only after opening the appropriate app. Users surprisingly managed to sign in to Google Talk over the built-in XMPP connection. But while the notification panel displayed "new chat message," there wasn't actually an instant messaging app. + +The artwork in Milestone 5 was all new. The app icons were redrawn, and the menu switched from a boring BlackBerry-style text list to full-color, cartoony icons on a large grid. The notification panel icons switched from simple, sharp, white icons to a bubbly green design. There was now a strange black line under the signal bar indicator with no apparent purpose. The tiny list view from earlier builds really wasn't usable with a finger, so Milestone 5 came with an overall beefier layout. + +![The dialer, recent calls, and an incoming call.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/phonestuff.png) +The dialer, recent calls, and an incoming call. +Photo by Ron Amadeo + +M5 was the first build to have a dialer, albeit a fairly ugly one. Numbers were displayed in a gradient-filled bar containing a bizarre speech-bubble-styled backspace button that looked like it was recycled from some other interface. Alignment issues were everywhere. The numbers on the buttons weren't vertically aligned correctly, and the “X" in the backspace button wasn’t aligned with the speech bubble. You couldn't even start a call from the dialer—with no on-screen “dial" button, a hardware button was mandatory. + +Milestone 5 had a few tabbed interfaces, all of which demonstrated an extremely odd idea of how tabs should work. The active tab was white, and the background tabs were black with a tiny strip of white at the bottom. Were background tabs supposed to "shrink" downward? There was no animation when switching tabs. It wasn't clear what the design tried to communicate. + +Recent Calls, shown in the second picture, was downgraded from a top-tier app to a tab on the dialer. It ditched the crazy crosshair UI from earlier builds and, thanks to the chunkier list view, now displayed all the necessary information in a normal list. + +Unlike the dialer, the incoming call screen had on-screen buttons for answering and ending a call. Bizarrely, the incoming call screen was stuck to the bottom of the display, rather than the top or center. It was possibly left over from the old 4:3 BlackBerry screens. + +![An active call, the disabled touchscreen error message, and the call screen with a second call on hold.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/callsstuff.png) +An active call, the disabled touchscreen error message, and the call screen with a second call on hold. +Photo by Ron Amadeo + +The in-call interface looked normal but made zero sense in practice. Today, to stop your face from pressing buttons while on a call, phones have proximity sensors that turn the screen off when the sensor detects something. Milestone 5 didn’t support proximity sensors, though. Google’s haphazard solution was to disable the entire touch screen during a call. At the same time, the in-call screen was clearly overhauled for touch. There were big, finger-friendly buttons; *you just couldn't touch anything*. + +M5 featured a few regressions here from the old Milestone 3 build. Many decent-looking icons from the old interface were replaced with text. Buttons like "mute" no longer offered on-screen feedback that they were active. Merging calls was cut completely. + +![The browser’s primary menu, the browser’s secondary menu, the crazy zoom control, and the window interface.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/browser4.png) +The browser’s primary menu, the browser’s secondary menu, the crazy zoom control, and the window interface. +Photo by Ron Amadeo + +The browser menu got the usual touch overhaul, and for the first time a "more" button appeared. It functioned as an [extra menu for your menu][1]. Rather than turning the 3x2 grid into a 3x4 grid, Milestone 5 (and many successive versions of Android) used a long, scrolling list for the additional options. Pinch zoom wasn't supported (supposedly a [concession to Apple][2]), so Android went with the ridiculous looking zoom control in the third picture above. Rather than something sensible like a horizontal, bottom-aligned zoom control, Google stuck it smack in the middle of the screen. The last picture shows the Browser’s "window" interface, which allowed you to open multiple webpages and semi-easily switch between them. + +![Google Maps’ layers section screen, search interface, and directions screen.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/amps.png) +Google Maps’ layers section screen, search interface, and directions screen. +Photo by Ron Amadeo + +Google Maps still didn't work, but the little UI we accessed saw significant updates. You could pick map layers, although there were only two to choose from: Satellite and Traffic. The top-aligned search interface strangely hid the status bar, while the bottom-aligned directions didn't hide the status bar. Direction's enter button was labeled with "Go," and Search's enter button was labeled with a weird curvy arrow. The list goes on and demonstrates old school Android at its worst: two functions in the same app that should look and work similarly, but these were implemented as complete opposites. + +---------- + +![Ron Amadeo](http://cdn.arstechnica.net/wp-content//uploads/authors/ron-amadeo-sq.jpg) + +[Ron Amadeo][a] / Ron is the Reviews Editor at Ars Technica, where he specializes in Android OS and Google products. He is always on the hunt for a new gadget and loves to rip things apart to see how they work. + +[@RonAmadeo][t] + +-------------------------------------------------------------------------------- + +via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/2/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://i.imgur.com/GIYGTnb.jpg +[2]:http://www.businessinsider.com/steve-jobs-on-android-founder-andy-rubin-big-arrogant-f-2013-11 +[a]:http://arstechnica.com/author/ronamadeo +[t]:https://twitter.com/RonAmadeo \ No newline at end of file diff --git a/sources/talk/The history of Android/03 - The history of Android.md b/sources/talk/The history of Android/03 - The history of Android.md new file mode 100644 index 0000000000..9e09fc8503 --- /dev/null +++ b/sources/talk/The history of Android/03 - The history of Android.md @@ -0,0 +1,64 @@ +The history of Android +================================================================================ +![From left to right: Android 0.9’s home screen, add drawer, and shortcut deletion interfaces.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/09hom2e.png) +From left to right: Android 0.9’s home screen, add drawer, and shortcut deletion interfaces. +Photo by Ron Amadeo + +### Android 0.9, Beta—hey, this looks familiar! ### + +Six months after Milestone 5, in August 2008, [Android 0.9 was released][1]. While the Android 0.5 milestone builds were "early looks," by now 1.0 was only two months away. Thus, Android 0.9 was labeled "beta." On the other side of the aisle, Apple already released its second version of the iPhone—the iPhone 3G—a month prior. The second-gen iPhone brought a second-gen iPhone OS. Apple also launched the App Store and was already taking app submissions. Google had a lot of catching up to do. + +Google threw out a lot of the UI introduced in Milestone 5. All the artwork was redone again in full-color, and the white square icon backgrounds were tossed. While still an emulator build, 0.9 offered something that looked familiar when compared to a released version of Android. Android 0.9 had a working desktop-style home screen, a proper app drawer, multiple home screens, a lot more apps, and fully functional (first-party only) widgets. + +Milestone 5 seemingly had no plan for someone installing more than 21 apps, but Android 0.9 had a vertically scrolling app drawer accessible via a gray tab at the bottom of the screen. Back then, the app drawer was actually a drawer. Besides acting as a button, the gray tab could be pulled up the screen and would follow your finger, just like how the notification panel can be pulled down. There were additional apps like Alarm Clock, Calculator, Music, Pictures, Messaging, and Camera. + +This was the first build with a fully customizable home screen. Long pressing on an app or widget allowed you to drag it around. You could drag an app out of the app drawer and make a home screen shortcut or long press on an existing home screen shortcut to move it. + +0.9 is a reminder that Google was not the design powerhouse it is today. In fact, some of the design work for Android was farmed out to other companies at the time. You can see one sign of this in the clock widget, which contains the text “MALMO," the home town of design firm [The Astonishing Tribe][2]. + +![The “Add to Home" dialog in Android 0.9.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/widgets.png) +The “Add to Home" dialog in Android 0.9. +Photo by Ron Amadeo + +There were only three widgets: Clock, Picture frame, and Search. The Search widget didn't even have a proper icon in the list—it used the Picture icon. Perhaps the most interesting item here was a "Purchased pictures" option in the wallpaper choices—a leftover from the days when purchasing ringtones on a dumbphone was a common occurrence. Google was either planning on selling wallpapers, or it was already adding a carrier at some point. The company never went through with the plan. + +![A collection of widgets, an open folder, renaming a folder, and the copy/paste menu.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/fcp.png) +A collection of widgets, an open folder, renaming a folder, and the copy/paste menu. +Photo by Ron Amadeo + +The left screen, above, shows the widgets for Google Search and pictures. Search didn't do anything other than give you a box to type in—there was no auto complete or additional UI. Typing in the box and hitting "Go" would launch the browser. The bottom row of icons revealed a few options for "shortcuts" from the long press menu, which created icons that opened an app to a certain screen. Individual contacts, browser bookmarks, and music playlists were all shortcuts that could all be added to the home screen in 0.9. + +"Folders" was an option under the shortcuts heading despite not being a shortcut to anything. Once a blank folder was created, icons could be dragged into it and rearranged. Unlike today, there was no indication of what was in a folder; it was always a plain, white, empty-looking icon. + +0.9 was also the first Android version to have OS-level copy/paste support. Long pressing on any text box would bring up a dialog allowing you to save or recall text from the clipboard. iOS didn't support copy/paste until almost two years later, so for a while, this was one of Android's big differentiators—and the source of many Internet arguments. + +![From left to right: Android 0.9’s new menu, recent apps, power options, and lock screen.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/stuff.jpg) +From left to right: Android 0.9’s new menu, recent apps, power options, and lock screen. +Photo by Ron Amadeo + +Android 0.9 was really starting to show its maturity. The home screen had a full set of menu items, including a settings option (although it didn't work yet) and a search button (because Google likes it when you search). The menu design was already in the final form that would last until Android 2.3 swapped it to black. + +Long pressing on the hardware home button brought up a 3x2 grid of recent apps, a design that would stick around until the release of Android 3.0. Recent Apps blurred the exposed background, but that was strangely applied here and not on other popups like the "Add to home" dialog or the home screen folder view. The power menu was at least included in the blurry background club, and it was redesigned with icons and more commonly accepted names for functions. The power menu icons lacked padding, though, appearing cramped and awkward. + +Android 0.9 featured a lock screen, albeit a very basic one. The black and gray lock screen had no on-screen method of unlocking—you needed to hit the hardware menu button. + +---------- + +![Ron Amadeo](http://cdn.arstechnica.net/wp-content//uploads/authors/ron-amadeo-sq.jpg) + +[Ron Amadeo][a] / Ron is the Reviews Editor at Ars Technica, where he specializes in Android OS and Google products. He is always on the hunt for a new gadget and loves to rip things apart to see how they work. + +[@RonAmadeo][t] + +-------------------------------------------------------------------------------- + +via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/3/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://arstechnica.com/information-technology/2008/08/robotripping-hands-on-with-the-android-sdk-beta/ +[2]:http://www.tat.se/ +[a]:http://arstechnica.com/author/ronamadeo +[t]:https://twitter.com/RonAmadeo \ No newline at end of file diff --git a/sources/talk/The history of Android/04 - The history of Android.md b/sources/talk/The history of Android/04 - The history of Android.md new file mode 100644 index 0000000000..d6b2090654 --- /dev/null +++ b/sources/talk/The history of Android/04 - The history of Android.md @@ -0,0 +1,75 @@ +The history of Android +================================================================================ +![Android 0.9 showing off a horizontal home screen—a feature that wouldn’t make it to later versions.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/horizontal.png) +Android 0.9 showing off a horizontal home screen—a feature that wouldn’t make it to later versions. +Photo by Ron Amadeo + +While it's hard to separate emulator and OS functionality, Android 0.9 was the first version to show off horizontal support. Surprisingly, almost everything supported horizontal mode, and 0.9 even outperforms KitKat in some respects. In KitKat, the home screen and dialer are locked to portrait mode and cannot rotate. Here, though, horizontal support wasn't a problem for either app. (Anyone know how to upgrade a Nexus 5 from KitKat to 0.9?) + +This screenshot also shows off the new volume design used in 0.9. It dumped the old bell-style control that debuted in Milestone 3. It was a massive, screen-filling interface. Eventually, the redesign in Android 4.0 made it a bit smaller, but it remained an issue. (It's extremely annoying to not be able to see a video just because you want to bump up the volume.) + +![The new notification panel, which ditched the application shortcut and added a top section.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/n09c2.png) +The new notification panel, which ditched the application shortcut and added a top section. +Photo by Ron Amadeo + +In just about every Android version, the notification panel gets tweaked, and 0.9 was no exception. The battery indicator was redrawn and changed to a darker shade of green, and the other status bar icons switched to black, white, and gray. The left area of the status bar was brilliantly repurposed to show the date when the panel was open. + +A new top section was added to the notification panel that would display the carrier name ("Android" in the case of the emulator) and a huge button labeled "Clear notifications," which allowed you to finally remove a notification without having to open it. The application button was canned and replaced with the time the notification arrived, and the "latest events" text was swapped out for a simpler "notifications." The empty parts of the panel were now gray instead of white, and the bottom gripper was redesigned. The pictures seem misaligned on the bottom, but that was because Milestone 5's notification panel had white space around the bottom of the panel. Android 0.9 goes all the way to the edge. + +![The browsers of 0.9 and 0.5, showing the new, colorless menus.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/browser4c2.png) +The browsers of 0.9 and 0.5, showing the new, colorless menus. +Photo by Ron Amadeo + +The browser now loaded an actual website for the home page instead of the locally stored faux-Google of Milestone 5. The WebKit version rose up to 525.10, but it didn't seem to render the modern Google.com search button correctly. All throughout Android 0.9, the menu art from Milestone 5 was trashed and redrawn as gray icons. The difference between these screens is pretty significant, as all the color has been sucked out. + +The "more" list-style menu grew a little taller, and it was now just a plain list with no icons. Android 0.9 gained yet another search method, this time in the browser menu. Along with the home screen widget, home screen menu button, and browser homepage, that made four search boxes. Google never hid what its prime business was, even in its OS. + +![From left to right: Android 0.9’s browser showing off the zoom controls, find-in-page interface, browser windows, and the settings.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/b4.png) +From left to right: Android 0.9’s browser showing off the zoom controls, find-in-page interface, browser windows, and the settings. +Photo by Ron Amadeo + +Android 0.9 brought tons of browser improvements. The zoom controls were thankfully reworked from the crazy vertical controls to simpler plus and minus buttons. Google made the common-sense decision of moving the controls from the center of the screen to the bottom. In these zoom controls, the Android struggle with consistency became apparent. These appeared to be the only round buttons in the OS. + +0.9's new "find in page" feature could highlight words in the page. But overall, the UI was still very rough—the text box was much taller than it should be, and the "done" button with a checkbox was a one-of-a-kind icon for this screen. "Done" was basically a "close" button, which means it should probably have been a right-aligned "X" button. + +The main OS didn't have a settings screen in this build, but the browser finally had its own settings screen. It featured desktop-style options for pop ups, javascript, privacy and cookies, saved passwords and form data. There was even Google Gears integration (remember [Google Gears?][1]). + +![The dialer and in-progress call screen with the menu open.](http://cdn.arstechnica.net/wp-content/uploads/2014/04/revisedcalls.jpg) +The dialer and in-progress call screen with the menu open. +Photo by Ron Amadeo + +Dialer and Contacts in Android 0.9 were actually the same app—the two icons just opened different tabs. Attaching contacts to the dialer like this suggested the primary purpose of a smartphone contact was still for calls, not to text, e-mail, IM, or look up an address. Eventually Google would fully embrace alternative smartphone communications and split up contacts and dialer into separate apps. + +Most of the dialer weirdness in Milestone 5 was wiped out in Android 0.9. The "minimizing" tabs were replaced with a normal set of dark/light tabs. The speech bubble backspace button was changed to a normal backspace icon and integrated into the number display. The number buttons were changed to circles despite everything else in the OS being a rounded rectangle (at least the text was vertically aligned this time). The company also fixed the unbalanced "one," "star," and "pound" keys from Milestone 5. + +Tapping on the number display in Android 0.9 would start a call. This was important, as it was a big step in getting rid of the hardware "Call" and "End" keys on Android devices. The incoming call screen, on the other hand, went in the complete opposite direction and removed the on-screen “Answer" and “Decline" buttons present in Android 0.5. Google would spend the next few versions fumbling around between needing and not needing hardware call buttons on certain screens. With Android 2.0 and the Motorola Droid, though, call buttons were finally made optional. + +All of the options for the in-call screen were hidden under the menu button. Milestone 5 didn't support a proximity sensor, so it took the brute force route of disabling the touch screen during a call. 0.9 was developed for the G1, which had a proximity sensor. Finally, Google didn't have to kill the touch sensor during a call. + +![The individual contacts screen and edit contacts screen for Android 0.9 and 0.5.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/CONTACTS.png) +The individual contacts screen and edit contacts screen for Android 0.9 and 0.5. +Photo by Ron Amadeo + +Milestone 5 had confusing labels for some contact information, like e-mail only being labeled "primary" instead of something like “primary e-mail." Android 0.9 corrected this with horizontal headers for each section. There were now action icons for each contact type on the left side, too. + +The edit contact screen was now a much busier place. There were delete buttons for every field, per-contact ringtones, an on-screen "more info" button for adding fields, a checkbox to send calls directly to voicemail, and "Save and "discard changes" buttons at the bottom of the list. Functionally, it was a big improvement over the old version, but it still looked very messy. + +---------- + +![Ron Amadeo](http://cdn.arstechnica.net/wp-content//uploads/authors/ron-amadeo-sq.jpg) + +[Ron Amadeo][a] / Ron is the Reviews Editor at Ars Technica, where he specializes in Android OS and Google products. He is always on the hunt for a new gadget and loves to rip things apart to see how they work. + +[@RonAmadeo][t] + +-------------------------------------------------------------------------------- + +via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/4/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.tat.se/ +[a]:http://arstechnica.com/author/ronamadeo +[t]:https://twitter.com/RonAmadeo \ No newline at end of file diff --git a/sources/talk/The history of Android/05 - The history of Android.md b/sources/talk/The history of Android/05 - The history of Android.md new file mode 100644 index 0000000000..6cf77007e2 --- /dev/null +++ b/sources/talk/The history of Android/05 - The history of Android.md @@ -0,0 +1,88 @@ +The history of Android +================================================================================ +![The main alarm screen, setting an alarm, the calculator, and the calculator advanced functions screen.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/calclockonpresszx.png) +The main alarm screen, setting an alarm, the calculator, and the calculator advanced functions screen. +Photo by Ron Amadeo + +Android 0.9 gave us the first look at the Alarm and Calculator apps. The alarm app featured a plain analog clock with a scrolling list of alarms on the bottom. Rather than some kind of on/off switch, alarms were set with a checkbox. Alarms could be set to repeat at certain days of the week, and there was a whole list of selectable, unique alarm sounds. + +The calculator was an all-black app with glossy, round buttons. Through the menu, it was possible to bring up an additional panel with advanced functions. Again consistency was not Google’s strong suit. The on-press highlight on the pi key was red—in the rest of Android 0.9, the on-press highlight was usually orange. In fact, everything used in the calculator was 100 percent custom artwork limited to only the calculator. + +![Google Maps with the menu open and the new directions interface.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/mps092.png) +Google Maps with the menu open and the new directions interface. +Photo by Ron Amadeo + +Google Maps actually worked in Android 0.9—the client could connect to the Google Maps server and pull down tiles. (For our images, remember that Google Maps is cloud based. Even the oldest of clients will still pull down modern map tiles, so ignore the actual map tiles pictured.) The Maps menu got the same all-gray treatment as the browser menu, and the zoom controls were the same as the browser too. The all-important "My Location" button finally arrived, meaning this version of Maps supported GPS location. + +The directions interface was revamped. The weird speech bubbles with misaligned plus buttons were swapped out for a more communicative bookmark icon, the swap field button moved to the left, and the go button was now labeled "Route." + +![The Google Maps layers selector, search history, and the now-broken street view mode.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/maps3.png) +The Google Maps layers selector, search history, and the now-broken street view mode. +Photo by Ron Amadeo + +"Layers" was renamed "Map Mode" and switched to a radio button list. Only one map type was available at a time—you couldn't see traffic on the satellite view, for instance. Buried in the menu was a hastily thrown together search history screen. History seemed like only a proof-of-concept, with giant, blurry search icons that rammed up against search terms on a transparent background. + +Street View used to be a separate app (although it was never made available to the public), but in 0.9 it was integrated into Google Maps as a Map Mode. You could drag the little pegman around, and it would display a popup bubble showing the thumbnail for Street View. Tapping on the thumbnail would launch Street View for that area. At the time, Street View showed nothing other than a scrollable 360 degree image—there was no UI on the interface at all. + +![Our first look at the Google Maps search interface. These shots show the search bar, the results in a list, the results in a map, and a business page.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/manystarbucks.png) +Our first look at the Google Maps search interface. These shots show the search bar, the results in a list, the results in a map, and a business page. +Photo by Ron Amadeo + +Android 0.9 also gave us our first look at the texting app, called "Messaging." Like many early Android designs, Messaging wasn't sure if it should be a dark app or a light app. The first visible screen was the message list, a stark black void of nothingness that looked like it was built on top of the settings interface. After tapping on “New Message" or one of the existing conversations, though, you were taken to a white and blue scrolling list of text messages. The two connected screens couldn’t be more different. + +![The SMS app’s chat window, attachment screen, chat list, and setting.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/sms09.png) +The SMS app’s chat window, attachment screen, chat list, and setting. +Photo by Ron Amadeo + +Messaging supported a range of attachments: you could tack on pictures, audio, or a slideshow to your message. Pictures and audio could be recorded on the fly or pulled from phone storage. Another odd UI choice was that Android already had an established icon for almost everything in the attach menu, but Messaging used all-custom art instead. + +Messaging was one of the first apps to have its own settings screen. Users could request read and delivery reports and set download preferences. + +![The slideshow creator. The right picture shows the menu options.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/slideshow.png) +The slideshow creator. The right picture shows the menu options. +Photo by Ron Amadeo + +The "slideshow" option in attachments would actually launch a fully featured slideshow creator. You could add pictures, choose the slide order, add music, change the duration of each slide, and add text. This was complicated enough to have its own app icon, but amazingly it was buried in the menu of the SMS app. This was one of the few Android apps that was completely unusable in portrait mode—the only way to see the picture and the controls was in landscape. Strangely, it would still rotate to portrait, but the layout just became a train wreck. + +![The Music player’s main navigation page, song list, album list, and “now playing" screen.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/music09.png) +The Music player’s main navigation page, song list, album list, and “now playing" screen. +Photo by Ron Amadeo + +Android 0.9 was the first to bring a music app to Android. The primary screen was mostly just four big, chunky navigation buttons that would take you to each music view. At the bottom of the app was a "now playing" bar that only contained the track name, artist, and a play/pause button. The song list had only a bare minimum interface, only showing the song name, artist, album and runtime. Album art was the only hope of seeing any color in this app. It was displayed as a tiny thumbnail in the album view and as a big, quarter-screen image in the Now Playing view. + +Like most parts of Android in this era, the interface may not have been much to look at, but the features were there. The Now Playing screen had a button for a playlist queue that allowed you to drag songs around, shuffle, repeat, search, and choose background audio. + +![The “Pictures" all album view, individual album view, and a single picture view.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/pictures09.png) +The “Pictures" all album view, individual album view, and a single picture view. +Photo by Ron Amadeo + +The photo gallery was simply called "Pictures." The initial view showed all your albums. The two default ones were "Camera" and a large unified album called "All pictures." The thumbnail for each album was made up of a 2x2 grid of pictures, and every picture got a thick, white frame. + +The individual album view was about what you would expect: a scrolling grid of pictures. You couldn't swipe through individual pictures—large left and right arrows flanking the individual picture had to be tapped on to move through an album. There was no pinch-zoom either; you had to zoom in and out with buttons. + +![Picture editing! These screenshots show an open menu, the “more" menu, cropping, and the settings.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/pics209.png) +Picture editing! These screenshots show an open menu, the “more" menu, cropping, and the settings. +Photo by Ron Amadeo + +"Pictures" looked simple until you hit the menu button and suddenly accessed a myriad of options. Pictures could be cropped, rotated, deleted, or set as a wallpaper or contact icon. Like the browser, all of this was accomplished through a clumsy double-menu system. But again, why do two related menus look completely different? + +Android 0.9 came out a mere two months before the first commercial release of Android. That was just enough time for app developers to make sure their apps worked—and for Google to do some testing and bug squashing before the big release. + +---------- + +![Ron Amadeo](http://cdn.arstechnica.net/wp-content//uploads/authors/ron-amadeo-sq.jpg) + +[Ron Amadeo][a] / Ron is the Reviews Editor at Ars Technica, where he specializes in Android OS and Google products. He is always on the hunt for a new gadget and loves to rip things apart to see how they work. + +[@RonAmadeo][t] + +-------------------------------------------------------------------------------- + +via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/5/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[a]:http://arstechnica.com/author/ronamadeo +[t]:https://twitter.com/RonAmadeo \ No newline at end of file diff --git a/sources/talk/The history of Android/06 - The history of Android.md b/sources/talk/The history of Android/06 - The history of Android.md new file mode 100644 index 0000000000..72b753a658 --- /dev/null +++ b/sources/talk/The history of Android/06 - The history of Android.md @@ -0,0 +1,73 @@ +The history of Android +================================================================================ +![The T-Mobile G1](http://cdn.arstechnica.net/wp-content/uploads/2014/04/t-mobile_g1.jpg) +The T-Mobile G1 +Photo by T-Mobile + +### Android 1.0—introducing Google Apps and actual hardware ### + +By October 2008, Android 1.0 was ready for launch, and the OS debuted on the [T-Mobile G1][1] (AKA the HTC Dream). The G1 was released into a market dominated by the iPhone 3G and the [Nokia 1680 classic][2]. (Both of those phones went on to tie for the [best selling phone][3] of 2008, selling 35 million units each.) Hard numbers of G1 sales are tough to come by, but T-Mobile announced the device broke the one million units sold barrier in April 2009. It was way behind the competition by any measure. + +The G1 was packing a single-core 528Mhz ARM 11 processor, an Adreno 130 GPU, 192MB of RAM, and a whopping 256MB of storage for the OS and Apps. It had a 3.2-inch, 320x480 display, which was mounted to a sliding mechanism that revealed a full hardware keyboard. So while Android software has certainly come a long way, the hardware has, too. Today, we can get much better specs than this in a watch form factor: the latest [Samsung smart watch][4] has 512MB of RAM and a 1GHz dual-core processor. + +While the iPhone had a minimal amount of buttons, the G1 was the complete opposite, sporting almost every hardware control that was ever invented. It had call and end call buttons, home, back, and menu buttons, a shutter button for the camera, a volume rocker, a trackball, and, of course, about 50 keyboard buttons. Future Android devices would slowly back away from thousand-button interfaces, with nearly every new flagship lessening the number of buttons. + +But for the first time, people saw Android running on actual hardware instead of a frustratingly slow emulator. Android 1.0 didn't have the smoothness, flare, or press coverage of the iPhone. It wasn't as capable as Windows Mobile 6.5. Still, it was a good start. + +![The default app selection of Android 1.0 and 0.9.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/apps.png) +The default app selection of Android 1.0 and 0.9. +Photo by Ron Amadeo + +The core of Android 1.0 didn't look significantly different from the beta version released two months earlier, but the consumer product brought a ton more apps, including the full suite of Google apps. Calendar, Email, Gmail, IM, Market, Settings, Voice Dialer, and YouTube were all new. At the time, music was the dominant media type on smartphones, the king of which was the iTunes music store. Google didn't have an in-house music service of its own, so it tapped Amazon and bundled the Amazon MP3 store. + +The most important addition to Android 1.0 was the debut of Google's store, called "Android Market Beta." While most companies were content with calling their app catalog some variant of "app store"—meaning a store that sold apps and only apps—Google had much wider ambitions. It went with the much more general name of "Android Market." The idea was that the Android Market would not just house apps, but everything you needed for your Android device. + +![The first Android Market client. Screenshots show the main page, “my downloads," an app page, and an app permissions page.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/market.png) +The first Android Market client. Screenshots show the main page, “my downloads," an app page, and an app permissions page. +Photo by [Google][5] + +At the time, the Android Market only offered apps and games, and developers weren't even able to charge for them. Apple's App Store had a four-month head start on the Android Market, but Google's big differentiator was that Android's store was almost completely open. On the iPhone, apps were subject to review by Apple and had to meet design and technical guidelines. Potential apps also weren't allowed to duplicate the stock functionality. On the Android Market, developers were free to do whatever they wanted, including replacing the stock apps. The lack of control would turn out to be a blessing and a curse. It allowed developers to innovate on the existing functionality, but it also meant even the trashiest applications were allowed in. + +Today, this client is another app that can no longer communicate with Google's servers. Luckily, it's one of the few early Android apps [actually documented][6] on the Internet. The main screen provided links to the common areas like Apps, Games, Search, and Downloads, and the top section had horizontally scrolling icons for featured apps. Search results and the "My Downloads" page displayed apps in a scrolling list, showing the name, developers, cost (at this point, always free), and rating. Individual app pages showed a brief description, install count, comments and ratings from users, and the all-important install button. This early Android Market didn’t support pictures, and the only field for developers was a description box with a 500-character limit. This made things like maintaining a changelog very difficult, as the only spot to put it was in the description. + +Right out of the gate, the Android Market showed permissions that an app required before installing. This is something Apple wouldn't get around to implementing until 2012, after an iOS app was caught [uploading entire address books][7] to the cloud without the user's knowledge. The permissions display gave a full rundown of what permissions an app was using, although this version railroaded users into agreeing. There was an “OK" button, but no way to cancel other than the back button. + +![Gmail showing the inbox, the inbox with the menu open. ](http://cdn.arstechnica.net/wp-content/uploads/2013/12/gmail1.01.png) +Gmail showing the inbox, the inbox with the menu open. +Photo by Ron Amadeo + +The next most important app was probably Gmail. Most of the base functionality was here already. Unviewed messages showed up in bold, and labels displayed as colored tags. Individual messages in the Inbox showed the subject, author(s), and number of replies in a conversation. The trademark Gmail star was here—a quick tap would star or unstar something. As usual for early versions of Android, the Menu housed all the buttons on the main inbox view. Once inside a message, though, things got a little more modern, with "reply" and "forward" buttons as permanent fixtures at the bottom of the screen. Individual replies could be expanded and collapsed just by tapping on them. + +The rounded corners, shadows, and bubbly icons gave the whole app a "cartoonish" look, but it was a good start. Android's function-first philosophy was really coming through here: Gmail supported labels, threaded messaging, searching, and push e-mail. + +![Gmail’s label view, compose screen, and settings on Android 1.0.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/gmail3.png) +Gmail’s label view, compose screen, and settings on Android 1.0. +Photo by Ron Amadeo + +But if you thought Gmail was ugly, the Email app took it to another level. There was no separate inbox or folder view—everything was mashed into a single screen. The app presented you with a list of folders and tapping on one would expand the contents in-line. Unread messages were denoted with a green line on the left, and that was about it for the e-mail interface. The app supported IMAP and POP3 but not Exchange. + +---------- + +![Ron Amadeo](http://cdn.arstechnica.net/wp-content//uploads/authors/ron-amadeo-sq.jpg) + +[Ron Amadeo][a] / Ron is the Reviews Editor at Ars Technica, where he specializes in Android OS and Google products. He is always on the hunt for a new gadget and loves to rip things apart to see how they work. + +[@RonAmadeo][t] + +-------------------------------------------------------------------------------- + +via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/6/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://arstechnica.com/gadgets/2008/10/android-g1-review/ +[2]:http://en.wikipedia.org/wiki/Nokia_1680_classic +[3]:http://en.wikipedia.org/wiki/List_of_best-selling_mobile_phones#2008 +[4]:http://arstechnica.com/gadgets/2014/04/review-we-wear-samsungs-galaxy-gear-and-galaxy-fit-so-you-dont-have-to/ +[5]:http://android-developers.blogspot.com/2008/08/android-market-user-driven-content.html +[6]:http://android-developers.blogspot.com/2008/08/android-market-user-driven-content.html +[7]:http://arstechnica.com/gadgets/2012/02/path-addresses-privacy-controversy-but-social-apps-remain-a-risk-to-users/ +[a]:http://arstechnica.com/author/ronamadeo +[t]:https://twitter.com/RonAmadeo \ No newline at end of file diff --git a/sources/talk/The history of Android/07 - The history of Android.md b/sources/talk/The history of Android/07 - The history of Android.md new file mode 100644 index 0000000000..2be62866ad --- /dev/null +++ b/sources/talk/The history of Android/07 - The history of Android.md @@ -0,0 +1,109 @@ +The history of Android +================================================================================ +![Both screens of the Email app. The first two screenshots show the combined label/inbox view, and the last shows a message.](http://cdn.arstechnica.net/wp-content/uploads/2014/01/email2lol.png) +Both screens of the Email app. The first two screenshots show the combined label/inbox view, and the last shows a message. +Photo by Ron Amadeo + +The message view was—surprise!—white. Android's e-mail app has historically been a watered-down version of the Gmail app, and you can see that close connection here. The message and compose views were taken directly from Gmail with almost no modifications. + +![The “IM" applications. Screenshots show the short-lived provider selection screen, the friends list, and a chat.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/IM2.png) +The “IM" applications. Screenshots show the short-lived provider selection screen, the friends list, and a chat. +Photo by Ron Amadeo + +Before Google Hangouts and even before Google Talk, there was "IM"—the only instant messaging client that shipped on Android 1.0. Surprisingly, multiple IM services were supported: users could pick from AIM, Google Talk, Windows Live Messenger, and Yahoo. Remember when OS creators cared about interoperability? + +The friends list was a black background with white speech bubbles for open chats. Presence was indicated with colored circles, and a little Android on the right hand side would indicate that a person was mobile. It's amazing how much more communicative the IM app was than Google Hangouts. Green means the person is using a device they are signed into, yellow means they are signed in but idle, red means they have manually set busy and don't want to be bothered, and gray is offline. Today, Hangouts only shows when a user has the app open or closed. + +The chats interface was clearly based on the Messaging program, and the chat backgrounds were changed from white and blue to white and green. No one changed the color of the blue text entry box, though, so along with the orange highlight effect, this screen used white, green, blue, and orange. + +![YouTube on Android 1.0. The screens show the main page, the main page with the menu open, the categories screen, and the videos screen.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/yt5000.png) +YouTube on Android 1.0. The screens show the main page, the main page with the menu open, the categories screen, and the videos screen. +Photo by Ron Amadeo + +YouTube might not have been the mobile sensation it is today with the 320p screen and 3G data speeds of the G1, but Google's video service was present and accounted for on Android 1.0. The main screen looked like a tweaked version of the Android Market, with a horizontally scrolling featured section along the top and vertically scrolling categories along the bottom. Some of Google's category choices were pretty strange: what would the difference be between "Most popular" and "Most viewed?" + +In a sign that Google had no idea how big YouTube would eventually become, one of the video categories was "Most recent." Today, with [100 hours of video][1] uploaded to the site every minute, if this section actually worked it would be an unreadable blur of rapidly scrolling videos. + +The menu housed search, favorites, categories, and settings. Settings (not pictured) was the lamest screen ever, housing one option to clear the search history. Categories was equally barren, showing only a black list of text. + +The last screen shows a video, which only supported horizontal mode. The auto-hiding video controls weirdly had rewind and fast forward buttons, even though there was a seek bar. + +![YouTube’s video menu, description page, and comments.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/yt3.png) +YouTube’s video menu, description page, and comments. +Photo by Ron Amadeo + +Additional sections for each video could be brought up by hitting the menu button. Here you could favorite the video, access details, and read comments. All of these screens, like the videos, were locked to horizontal mode. + +"Share" didn't bring up a share dialog yet; it just kicked the link out to a Gmail message. Texting or IMing someone a link wasn't possible. Comments could be read, but you couldn't rate them or post your own. You couldn't rate or like a video either. + +![The camera app’s picture taking interface, menu, and photo review mode.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/camera.png) +The camera app’s picture taking interface, menu, and photo review mode. +Photo by Ron Amadeo + +Real Android on real hardware meant a functional camera app, even if there wasn't much to look at. That black square on the left was the camera interface, which should be showing a viewfinder image, but the SDK screenshot utility can't capture it. The G1 had a hardware camera button (remember those?), so there wasn't a need for an on-screen shutter button. There were no settings for exposure, white balance, or HDR—you could take a picture and that was about it. + +The menu button revealed a meager two options: a way to jump to the Pictures app and Settings screen with two options. The first settings option was whether or not to enable geotagging for pictures, and the second was for a dialog prompt after every capture, which you can see on the right. Also, you could only take pictures—there was no video support yet. + +![The Calendar’s month view, week view with the menu open, day view, and agenda.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/calviews.png) +The Calendar’s month view, week view with the menu open, day view, and agenda. +Photo by Ron Amadeo + +Like most apps of this era, the primary command interface for the calendar was the menu. It was used to switch views, add a new event, navigate to the current day, pick visible calendars, and go to the settings. The menu functioned as a catch-all for every single button. + +The month view couldn't show appointment text. Every date had a bar next to it, and appointments were displayed as green sections in the bar denoting what time of day an appointment was. Week view couldn't show text either—the 320×480 display of the G1 just wasn't dense enough—so you got a white block with a strip of color indicating which calendar it was from. The only views that provided text were the agenda and day views. You could move through dates by swiping—week and day used left and right, and month and agenda used up and down. + +![The main settings page, the Wireless section, and the bottom of the about page.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/settings.png) +The main settings page, the Wireless section, and the bottom of the about page. +Photo by Ron Amadeo + +Android 1.0 finally brought a settings screen to the party. It was a black and white wall of text that was roughly broken down into sections. Down arrows next to each list item confusingly look like they would expand line-in to show more of something, but touching anywhere on the list item would just load the next screen. All the screens were pretty boring and samey looking, but hey, it's a settings screen. + +Any option with an on/off state used a cartoony-looking checkbox. The original checkboxes in Android 1.0 were pretty strange—even when they were "unchecked," they still had a gray check mark in them. Android treated the check mark like a light bulb that would light up when on and be dim when off, but that's not how checkboxes work. We did finally get an "About" page, though. Android 1.0 ran Linux kernel 2.6.25. + +A settings screen means we can finally open the security settings and change lock screens. Android 1.0 only had two styles, the gray square lock screen pictured in the Android 0.9 section, and pattern unlock, which required you to draw a pattern over a grid of 9 dots. A swipe pattern like this was easier to remember and input than a PIN even if it did not add any more security. + +![The Voice Dialer, pattern lock screen, low battery warning, and time picker.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/grabbag.png) +The Voice Dialer, pattern lock screen, low battery warning, and time picker. +Photo by Ron Amadeo + +oice functions arrived in 1.0 with Voice Dialer. This feature hung around in various capacities in AOSP for a while, as it was a simple voice command app for calling numbers and contacts. Voice Dialer was completely unrelated to Google's future voice products, however, and it worked the same way a voice dialer on a dumbphone would work. + +As for a final note, low battery popup would occur when the battery dropped below 15 percent. It was a funny graphic, depicting plugging the wrong end of the power cord into the phone. That wasn't (and still isn't) how phones work, Google. + +Android 1.0 was a great first start, but there were still so many gaps in functionality. Physical keyboards and tons of hardware buttons were mandatory, as Android devices were still not allowed to be sold without a d-pad or trackball. Base smartphone functionality like auto-rotate wasn't here yet, either. Updates for built-in apps weren't possible through the Android Market the way they were today. All the Google Apps were interwoven with the operating system. If Google wanted to update a single app, an update for the entire operating system needed to be pushed out through the carriers. There was still a lot of work to do. + +### Android 1.1—the first truly incremental update ### + +![All of Android 1.1’s new features: Search by voice, the Android Market showing paid app support, Google Latitude, and the new “system updates" option in the settings.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/11.png) +All of Android 1.1’s new features: Search by voice, the Android Market showing paid app support, Google Latitude, and the new “system updates" option in the settings. +Photo by Ron Amadeo + +Four and a half months after Android 1.0, in February 2009, Android got its first public update in Android 1.1. Not much changed in the OS, and just about every new thing Google added with 1.1 has been shut down by now. Google Voice Search was Android's first foray into cloud-powered voice search, and it had its own icon in the app drawer. While the app can't communicate with Google's servers anymore, you can check out how it used to work [on the iPhone][2]. It wasn't yet Voice Actions, but you could speak and the results would go to a simple Google Search. + +Support for paid apps was added to the Android Market, but just like the beta client, this version of the Android Market could no longer connect to the Google Play servers. The most that we could get to work was this sorting screen, which lets you pick between displaying free apps, paid apps, or a mix of both. + +Maps added [Google Latitude][3], a way to share your location with friends. Latitude was shut down in favor of Google+ a few months ago and no longer works. There was an option for it in the Maps menu, but tapping on it just brings up a loading spinner forever. + +Given that system updates come quickly in the Android world—or at least, that was the plan before carriers and OEMs got in the way—Google also added a button to the "About Phone" screen to check for system updates. + +---------- + +![Ron Amadeo](http://cdn.arstechnica.net/wp-content//uploads/authors/ron-amadeo-sq.jpg) + +[Ron Amadeo][a] / Ron is the Reviews Editor at Ars Technica, where he specializes in Android OS and Google products. He is always on the hunt for a new gadget and loves to rip things apart to see how they work. + +[@RonAmadeo][t] + +-------------------------------------------------------------------------------- + +via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/7/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.youtube.com/yt/press/statistics.html +[2]:http://www.youtube.com/watch?v=y3z7Tw1K17A +[3]:http://arstechnica.com/information-technology/2009/02/google-tries-location-based-social-networking-with-latitude/ +[a]:http://arstechnica.com/author/ronamadeo +[t]:https://twitter.com/RonAmadeo \ No newline at end of file diff --git a/sources/talk/The history of Android/08 - The history of Android.md b/sources/talk/The history of Android/08 - The history of Android.md new file mode 100644 index 0000000000..3bd0c3a8c5 --- /dev/null +++ b/sources/talk/The history of Android/08 - The history of Android.md @@ -0,0 +1,128 @@ +The history of Android +================================================================================ +![Android 1.5’s on-screen keyboard showing the suggestion bar while typing, the capital letters keyboard, the number and symbols screen, and an additional key popup.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/kb5.png) +Android 1.5’s on-screen keyboard showing the suggestion bar while typing, the capital letters keyboard, the number and symbols screen, and an additional key popup. +Photo by Ron Amadeo + +### Android 1.5, Cupcake—a virtual keyboard opens up device design ### + +In April 2009, almost three months after the release of 1.1, Android 1.5 was released. It was the first Android version to have a public, marketed code name: Cupcake. From here on out, Android releases would have alphabetical, snack-themed names. + +The most important Cupcake addition was easily the on-screen keyboard. For the first time, it was possible for OEMs to build a slate-style Android device without a thousand hardware keyboard keys and a complicated slide mechanism. + +Android's key labels could switch between uppercase and lowercase, depending on if caps lock was on or not. While it was off by default, there was an option to turn on the suggestion bar, which appeared along the top edge of the keyboard. Keys with ellipses in the popup, like the "u," above, could be held down to input [diacritical marks][1], which would display in a popup. The keyboard could switch to numbers and alternate characters, and long pressing on the period key would bring up even more punctuation. + +![Composite images of the app lineup in 1.5 and 1.1 and the notification panels from each version.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/abweave.png) +Composite images of the app lineup in 1.5 and 1.1 and the notification panels from each version. +Photo by Ron Amadeo + +New icons were added for the new "Camcorder" functionality, and Google Talk was broken out from IM into its own separate app. The Amazon MP3 and Browser icons were redesigned, too. The Amazon MP3 icon was changed primarily because Amazon was planning on launching other Android apps soon, and the "A" icon was far too generic. The browser icon was easily the worst in Android 1.1, so it was changed and no longer resembled a desktop OS dialog box. The last app drawer change was to "Pictures," which was renamed to "Gallery." + +The notification panel was redesigned again as well. The panel background got a weave texture, and the gradients on notifications were smoothed out. Android 1.5 had a lot of little design changes to core OS pieces that affected all apps. On the "Clear notifications" button, you could see the new system-wide button style, which had a gradient, a thinner outline, and less shadowing than the old version. + +![The “Add to Home" dialog boxes in 1.5 and 1.1.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/widget.png) +The “Add to Home" dialog boxes in 1.5 and 1.1. +Photo by Ron Amadeo + +Third-party widgets were another headline feature of Cupcake, and they still remain one of Android's defining features. Developers could bundle a home screen widget along with their apps that would either control or display information from that app. Google showed off a few new widgets of its own, too, with the Calendar and Music apps. + +![Left: a screenshot of the calendar widget, music widget, and a row of live folders. Center: the folder list. Right: an open view of the “contacts with phone numbers" live folder.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/folders-and-widgets-and-stuff.png) +Left: a screenshot of the calendar widget, music widget, and a row of live folders. Center: the folder list. Right: an open view of the “contacts with phone numbers" live folder. +Photo by Ron Amadeo + +On the left screenshot, above, you can see the new Calendar and Music icons. The Calendar widget could only show a single event for the day, and tapping it would open the calendar. It wouldn't let you choose what calendars to display, and widgets weren't resizable—it only ever looked like this. The music widget was blue—despite the music app not having a drop of blue in it—and showed the song and artist name, along with play and next buttons. + +Also in the left shot, the first three folders on the bottom row were a new feature called "Live Folders." These were accessible under the new top-level "Folders" section in the "Add to Home" menu, which you can see in the center picture. Live Folders showed the content of an application without having to open that application. The ones that came with Cupcake were all contacts-related, showing all of the user's contacts, contacts with phone numbers, or starred contacts. + +Rather than icons, Live Folders used a simple list view that popped up over the home screen. Contacts were just for starters, Live Folders was a whole API that developers could use. Google demoed a folder of books from the Google Books app, and it was possible to have an RSS feed or top stories from a website as a live folder. Live folders were one of the few Android ideas that didn't work out, and the feature was shut down in Honeycomb. + +![The camcorder and camera UI, with on-screen shutter buttons.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/device-2013-12-26-11016071.png) +The camcorder and camera UI, with on-screen shutter buttons. +Photo by Ron Amadeo + +If you couldn't tell from the new "Camcorder" icon, video recording was added to Android in 1.5. The two icons, camera and camcorder, were actually the same app, and you could jump between the two of them with an option in the menu labeled "Switch to camera" and "Switch to camcorder." Video quality on the T-Mobile G1 was not that great. A test video on "High" quality output; a .3GP video file with a resolution of 352 x 288 and a lagtastic frame rate of 4 FPS. + +Along with the new video feature, the Camera app saw a few much-needed UI tweaks. A thumbnail in the top left showed the last picture that was taken, and tapping on it would jump to the camera roll in the Gallery. The circle icon on the top right of both screens was an on-screen shutter button, meaning that, post 1.5, Android devices no longer required a hardware camera button. + +This interface was actually much closer to the Android 4.2 design than many of the subsequent camera apps. While later designs would add silly leather textures and more controls to the camera, Android went back to basics with later designs, and that 4.2 redesign shares a lot in common with this. What was a primitive layout in Android 1.5 became a minimal, full-screen viewfinder in Android 4.2. + +![Google Talk running in the Google Talk app versus Google Talk running in the IM app.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/gtalk-im.png) +Google Talk running in the Google Talk app versus Google Talk running in the IM app. +Photo by Ron Amadeo + +Android 1.0's IM app was used for Google Talk functionality, but in Android 1.5, Google Talk was broken off into its own app. Support for it in the IM app was removed. Google Talk (above, left) was clearly based on the IM app (above, right), but as soon as the stand alone app was released in 1.5, work on the IM app was abandoned. + +The new Google Talk app had a redesigned status bar, presence lights on the right side, and a redesigned mobile icon, which was a gray monogram of the bugdroid. The blue compose bar switched to a more sensible gray in the chat view, and the message backgrounds changed from light green and white to light green and green. With a stand alone app, Google could add Gtalk-only features like chatting "off the record," which would stop Gmail from saving a copy of every chat. + +![The calendar in Android 1.5 got a lot lighter.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/cal15.png) +The calendar in Android 1.5 got a lot lighter. +Photo by Ron Amadeo + +The calendar dumped the ugly white squares on a black background and changed to an all-light app. The background of everything became white, and day-of-the-week headers were changed to blue. The individual appointment blocks switched from a small color strip to entirely colored, and the text changed to white. This will be the last time the calendar is touched for a long time. + +![From left to right: the browser’s new controls, the zoomed-out magnifying view, and highlighting text for copy/pasting.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/browser-craziness.png) +From left to right: the browser’s new controls, the zoomed-out magnifying view, and highlighting text for copy/pasting. +Photo by Ron Amadeo + +Android 1.5 changed the zoom controls system-wide. Instead of two big circles, the zoom controls became two halves of a rectangle with rounded corners. These new controls applied to the browser, Google Maps, and the gallery. + +The browser had lots of work done on the zoom functionality. After zooming in or out, the "1x" button would return you to the standard zoom level. The button in the bottom right corner would zoom all the way out of the page and display a magnifying rectangle over the page, which you can see in the center image. Grabbing the rectangle and releasing it would zoom that part of the page to a "1x" view. Android didn't have acceleratable scrolling, which made the max scrolling speed pretty slow—this was Google's solution for navigating a long webpage. + +Another addition to the browser was the ability to copy text on a webpage—previously you could only copy text from an input box. Selecting "copy text" from the menu would activate highlight mode, and dragging your finger over text in a Web page would highlight it. The G1’s trackball was very handy for super-precise movement like this and could control the mouse cursor. There were no draggable handles, and as soon as you lifted your finger off the screen, Android would copy the text and remove the highlight, so you had to be ridiculously precise to get any use out of the copy feature. + +The browser in Android 1.5 would crash a lot—much more than in previous versions. Just viewing Ars Technica in desktop mode would crash the browser, as did many other sites. + +![](http://cdn.arstechnica.net/wp-content/uploads/2013/12/lockscreen.png) +Photo by Ron Amadeo + +The default lock screen and pattern lock screen both changed their empty, black backgrounds to the same wallpaper as the home screen. + +The lighter background on the pattern unlock screen revealed the sloppy job Google did on the alignment of the circles. The white circles were nowhere near centered inside the black circles—basic alignment issues like this continued to be a frequent problem for Android in these early days. + +![The YouTube uploader, contacts thumbnails, the auto rotate setting, and the new music design.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/TWEAKS2.png) +The YouTube uploader, contacts thumbnails, the auto rotate setting, and the new music design. +Photo by Ron Amadeo + +![The HTC Magic, the second Android device, and the first without a hardware keyboard.](http://cdn.arstechnica.net/wp-content/uploads/2014/04/htc-magic-white.jpg) +The HTC Magic, the second Android device, and the first without a hardware keyboard. +Photo by HTC + +> #### Google Maps is the first built-in app to hit the Android Market #### +> +> While this article is (mostly) organizing app updates by Android version for simplicity's sake, there are a few outliers that deserve special recognition. On June 14, 2009, Google Maps was the first packed-in Android app to be updated via the Android Market. While every other app required a full system release to be updated, Maps was broken out of the OS, free to receive out-of-cycle updates whenever a new feature was ready. +> +> Moving apps out of the core OS and onto the Android Market would be a big focus for Google going forward. In general, OTA updates were a big initiative—they required the cooperation of the OEM and the carrier, both of which could drag their feet. Updates also didn’t make it to every device. Today, the Android Market gives Google a direct line to every Android phone with no such interference from outside parties. +> +> These were problems for a later date, though. In 2009, Google had only two unskinned phones to support, and the early Android carriers were seemingly responsive to Google’s update needs. This early move would prove to be a very proactive decision on Google’s part. At first, the company went this route only with its most important properties—Maps and Gmail—but later it would port the majority of the packed-in apps to the Android Market. Later initiatives like Google Play Services even brought app APIs out of the OS and into Google’s store. +> +> As for the new Maps at the time, it gained a new directions interface, along with the ability to give mass transit and walking directions. For now, directions were given on a plain black list—turn-by-turn-style navigation would come later. +> +> June 2009 was also the time Apple launched the third iPhone—the 3GS—and the third version of iPhone OS. iPhone OS 3's headline features were mostly catch-up items like copy/paste and MMS support. Apple's hardware was still nicer, and the software was smoother, more cohesive, and better designed. Google's insane pace of development was putting it on a path to parity though. iPhone OS 2 launched just before the Milestone 5 build of Android 0.5, which makes five Android releases in the span of the yearly iOS release cycle. + +Android 1.5 gave the YouTube app the ability to upload videos to the site. Uploading was accomplished by sharing a video from the Gallery to the YouTube app, or by opening a video directly from the YouTube app. This would bring up an upload screen, where the user would set things like the video title, tags, and access rights. Photos could be uploaded to Picasa, Google's original photo site, in a similar fashion. + +There were little tweaks all over the OS. Favorite contacts now showed a picture in the contacts list (although regular contacts were still pictureless). The third picture shows the new auto-rotate option in the settings—this was also the first version to support automatically switching orientations based on readings from the devices’ internal sensors. + +Cupcake did a great job of improving Android, particularly in terms of hardware options. The on-screen keyboard meant a hardware keyboard was no longer necessary. Auto rotate brought the OS a little closer to the iPhone, and an on-screen camera shutter button meant that hardware camera buttons were now optional, too. Shortly after the release of 1.5, a second Android device came out that would show the future direction of the platform: the HTC Magic. The Magic (right) didn’t have a hardware keyboard or a camera button. It was a solid, slider-less slate device that relied on Android’s on-screen buttons to get the job done. + +Android flagships started with the most buttons possible—a hardware qwerty phone—and slowly began whittling the button count down over time. While the Magic was a big step, eliminating an entire keyboard and a camera button, it still used start and end call buttons, four system buttons, and a trackball. + +---------- + +![Ron Amadeo](http://cdn.arstechnica.net/wp-content//uploads/authors/ron-amadeo-sq.jpg) + +[Ron Amadeo][a] / Ron is the Reviews Editor at Ars Technica, where he specializes in Android OS and Google products. He is always on the hunt for a new gadget and loves to rip things apart to see how they work. + +[@RonAmadeo][t] + +-------------------------------------------------------------------------------- + +via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/8/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://en.wikipedia.org/wiki/Diacritic +[a]:http://arstechnica.com/author/ronamadeo +[t]:https://twitter.com/RonAmadeo \ No newline at end of file diff --git a/sources/talk/The history of Android/09 - The history of Android.md b/sources/talk/The history of Android/09 - The history of Android.md new file mode 100644 index 0000000000..c629e9cc75 --- /dev/null +++ b/sources/talk/The history of Android/09 - The history of Android.md @@ -0,0 +1,76 @@ +The history of Android +================================================================================ +![The new Android Market—less black, more white and green.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/marketab2.png) +The new Android Market—less black, more white and green. +Photo by Ron Amadeo + +### Android 1.6, Donut—CDMA support brings Android to any carrier ### + +The fourth version of Android—1.6, Donut—launched in September 2009, five months after Cupcake hit the market. Despite the myriad of updates, Google was still adding basic functionality to Android. Donut brought support for different screen sizes, CDMA support, and a text-to-speech engine. + +Android 1.6 is a great example of an update that, today, would have little reason to exist as a separate point update. The major improvements basically boiled down to new versions of the Android Market, camera, and YouTube. In the years since, apps like this have been broken out of the OS and can be updated by Google at any time. Before all this modularization work, though, even seemingly minor app updates like this required a full OS update. + +The other big improvement—CDMA support—demonstrated that, despite the version number, Google was still busy getting basic functionality into Android. + +The Android Market was christened as version "1.6" and got a complete overhaul. The original all-black design was tossed in favor of a white app with green highlights—the Android designers were clearly using the Android mascot for inspiration. + +The new market was definitely a new style of app design for Google. The top fifth of the screen was dedicated to a banner logo announcing that this app is indeed the “Android Market." Below the banner were buttons for Apps, Games, and Downloads, and a search button was placed to the right of the banner. Below the navigation was a thumbnail display of featured apps, which could be swiped through. Below that were even more featured apps in a vertically scrolling list. + +![The new Market design, showing an app page with screenshots, the apps categories page, an app top list, and the downloads section.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/marketpages.png) +The new Market design, showing an app page with screenshots, the apps categories page, an app top list, and the downloads section. +Photo by Ron Amadeo + +The biggest addition to the market was the inclusion of app screenshots. Android users could finally see what an app looked like before installing it—previously they only had a brief description and user reviews to go on. Your personal star review and comment was given top billing, followed by the description, and then finally the screenshots. Viewing the screenshots would often require a bit of scrolling—if you were looking for a well-designed app, it was a lot of work. + +Tapping on App or Games would bring up a category list, which you can see in the second picture, above. After picking a category, more navigation was shown at the top of the screen, where users could see "Top paid," "Top free," or "Just in" apps within a category. While these sorta looked like buttons that would load a new screen, they were really just a clunky tabbed interface. To denote which "tab" was currently active, there were little green lights next to each button. The nicest part of this interface was that the list of apps would scroll infinitely—once you hit the bottom, more apps would load in. This made it easy to look through the list of apps, but opening any app and coming back would lose your spot in the list—you’d be kicked to the top. The downloads section would do something the new Google Play Store still can't do: simply display a list of your purchased apps. + +While the new Market definitely looked better than the old market, cohesion across apps was getting worse and worse. It seemed like each app was made by a different group with no communication about how all Android apps should look. + +![The Camera viewfinder, photo review screen, and menu.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/device-2013-12-27-145949.png) +The Camera viewfinder, photo review screen, and menu. +Photo by Ron Amadeo + +For instance, the camera app was changed from a full-screen, minimal design to a boxed viewfinder with controls on the side. With the new camera app, Google tried its hand at skeuomorphism, wrapping the whole app in a leather texture roughly replicating the exterior of a classic camera. Switching between the camera and camcorder was done with a literal switch, and below that was the on-screen shutter button. + +Tapping on the previous picture thumbnail no longer launched the gallery, but a custom image viewer that was built in to the camera app. When viewing a picture the leather control area changed the camera controls to picture controls, where you could delete, share a picture, or set the picture as a wallpaper or contact image. There was still no swiping between pictures—that was still done with arrows on either side of the image. + +This second picture shows one of the first examples of designers reducing dependence on the menu button, which the Android team slowly started to realize functioned terribly for discoverability. Many app designers (including those within Google) used the menu as a dumping ground for all sorts of controls and navigational elements. Most users didn't think to hit the menu button, though, and never saw the commands. + +A common theme for future versions of Android would be moving things out of the menu and on to the main screen, making the whole OS more user-friendly. The menu button was completely killed in Android 4.0, and it's only supported in Android for legacy apps. + +![The battery and TTS settings.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/settings1.png) +The battery and TTS settings. +Photo by Ron Amadeo + +Donut was the first Android version to keep track of battery usage. Buried in the "About phone" menu was an option called "Battery use," which would display battery usage by app and hardware function as a percentage. Tapping on an item would bring up a separate page with relevant stats. Hardware items had buttons to jump directly to their settings, so for instance, you could change the display timeout if you felt the display battery usage was too high. + +Android 1.6 was also the first version to support text-to-speech (TTS) engines, meaning the OS and apps would be able to talk back to you in a robot voice. The “Speech synthesizer controls" would allow you to set the language, choose the speech rate, and (critically) install the voice data from the Android market. Today, Google has its own TTS engine that ships with Android, but it seems Donut was hard coded to accept one specific TTS engine made by SVOX. But SVOX’s engine didn’t ship with Donut, so tapping on “install voice data" linked to an app in the Android Market. (In the years since Donut’s heyday, the app has been taken down. It seems Android 1.6 will never speak again.) + +![From left to right: new widgets, the search bar UI, the new notification clear button, and the new gallery controls.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/grabbag16.png) +From left to right: new widgets, the search bar UI, the new notification clear button, and the new gallery controls. +Photo by Ron Amadeo + +There was more work on the widget front. Donut brought an entirely new widget called "Power control." This comprised on/off switches for common power-hungry features: Wi-FI, Bluetooth, GPS, Sync (to Google's servers), and brightness. + +The search widget was redesigned to be much slimmer looking, and it had an embedded microphone button for voice search. It now had some actual UI to it and did find-as-you-type live searching, which searched not only the Internet, but your applications and history too. + +The "Clear notifications" button has shrunk down considerably and lost the "notifications" text. In later Android versions it would be reduced to just a square button. The Gallery continues the trend of taking functionality out of the menu and putting it in front of the user—the individual picture view gained buttons for "Set as," "Share," and "Delete." + +---------- + +![Ron Amadeo](http://cdn.arstechnica.net/wp-content//uploads/authors/ron-amadeo-sq.jpg) + +[Ron Amadeo][a] / Ron is the Reviews Editor at Ars Technica, where he specializes in Android OS and Google products. He is always on the hunt for a new gadget and loves to rip things apart to see how they work. + +[@RonAmadeo][t] + +-------------------------------------------------------------------------------- + +via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/9/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[a]:http://arstechnica.com/author/ronamadeo +[t]:https://twitter.com/RonAmadeo \ No newline at end of file diff --git a/sources/talk/The history of Android/10 - The history of Android.md b/sources/talk/The history of Android/10 - The history of Android.md new file mode 100644 index 0000000000..f01a0a0f7f --- /dev/null +++ b/sources/talk/The history of Android/10 - The history of Android.md @@ -0,0 +1,88 @@ +The history of Android +================================================================================ + +注:youtube视频地址 + + +### Android 2.0, Éclair‎—blowing up the GPS industry ### + +Forty-one days—that was how much time passed between Android 1.6 and 2.0. The first big version number bump for Android launched in October 2009 [on the Motorola Droid][1], the first "second generation" Android device. The Droid offered huge hardware upgrades over the G1, starting with the massive (at the time) 3.7 inch, 854×480 LCD. It brought a lot more power, too: a (still single-core) 600Mhz TI OMAP Cortex A8 with 256MB of RAM. + +![The Motorola Droid stares into your soul.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/2181.jpg) +The Motorola Droid stares into your soul. + +The most important part of the Droid, though, was the large advertising campaign around it. The Droid was the flagship device for Verizon Wireless in the US, and with that title came a ton of ad money from America's biggest carrier. Verizon licensed the word "droid" from Lucasfilm and started up the ["Droid Does" campaign][2]—a shouty, explosion-filled set of commercials that positioned the device (and by extension, Android) as the violent, ass-kicking alternative to the iPhone. The press frequently declared the T-Mobile G1 as trying to be an “iPhone Killer," but the Droid came out and owned it. + +Like the G1, the Droid had a hardware keyboard that slid out from the side of the phone. The trackball was gone, but some kind of d-pad was still mandatory, so Motorola placed a five-way d-pad on the right side of the keyboard. On the front, the Droid switched from hardware buttons to capacitive touch buttons, which were just paint on the glass touchscreen. Android 2.0 also finally allowed devices to do away with the “Call" and “End" buttons. So together with the demotion of the d-pad to the keyboard tray, the front buttons could all fit in a nice, neat strip. The result of all this streamlining was the best-looking Android device yet. The T-Mobile G1 looked like a Fisher-Price toy, but the Motorola Droid looked like an industrial tool that you could cut someone with. + +![The lock and home screens from 2.0 and 1.6.](http://cdn.arstechnica.net/wp-content/uploads/2014/01/intro202.png) +The lock and home screens from 2.0 and 1.6. +Photo by Ron Amadeo + +Some of Verizon's grungy ad campaign leaked over to the software, where the default wallpaper was changed from a calm, watery vista to a picture of dirty concrete. The boot animation used a pulsing, red, Hal 9000 eyeball and the default notification tone shouted "[DRRRRROOOOIIIIDDDD][3]" every time you received an e-mail. Éclair was Android’s angsty teenager phase. + +One of the first things Android 2.0 presented to the user was a new lock screen. Slide-to-unlock was patented by Apple, so Google went with a rotary-phone-inspired arc unlock gesture. Putting your finger on the lock icon and sliding right would unlock the device, and sliding left from the volume icon would silence the phone. A thumb naturally moves in an arc, so this felt like an even more natural gesture than sliding in a straight line. + +The default homescreen layout scrapped the redundant analog clock widget and introduced what is now an Android staple: a search bar at the top of the home screen. SMS Messaging and the Android Market were also given top billing in the new layout. The app drawer tab was given a sharp redesign, too. + +![The app drawers and pictures of the “Add to Home" menus.](http://cdn.arstechnica.net/wp-content/uploads/2014/01/icons.png) +The app drawers and pictures of the “Add to Home" menus. +Photo by Ron Amadeo + +Android was developed at such a breakneck pace in the early days that the Android Team could never really plan for future devices when making interface art. The Motorola Droid—with its 854×480 LCD—was a huge bump up in resolution over the 320×480 G1-era devices. Nearly everything needed to be redrawn. Starting from scratch with interface art would pretty much be the main theme of Android 2.0. + +Google took this opportunity to redesign almost every icon in Android, going from a cartoony look with an isometric perspective to straight-on icons done in a more serious style. The only set of icons that weren't redrawn were the status bar icons, which now look very out of place compared to the rest of the OS. These icons would hang around from Android 0.9 until 2.3. + +There were a few changes to the app lineup as well. Camcorder was merged into the camera, the IM app was killed, and two new Google-made apps were added: Car Home, a launcher with big buttons designed for use while driving, and Corporate Calendar, which is identical to the regular calendar except it supports Exchange instead of Google Calendar. Weirdly, Google also included two third-party apps out of the box: Facebook and Verizon's Visual VM app. (Neither works today.) The second set of pictures displays the “Add to Home screen" menu, and it received all new art, too. + +![A Places page, showing the “Navigate" option, the Navigation disclaimer, the actual Navigation screen, and the traffic info screen.](http://cdn.arstechnica.net/wp-content/uploads/2014/01/nav2.png) +A Places page, showing the “Navigate" option, the Navigation disclaimer, the actual Navigation screen, and the traffic info screen. +Photo by Ron Amadeo + +Beyond a redesign, the clear headline feature of Android 2.0 was Google Maps Navigation. Google updated Maps to allow for free turn-by-turn navigation, complete with a point of interest search and text to speech, which could read the names of streets aloud just like a standalone GPS unit. Turning GPS navigation from a separate product into a free smartphone feature pretty much [destroyed][4] the standalone GPS market overnight. TomTom’s stock dropped almost 40 percent during the week of Android 2.0’s launch. + +But navigation was pretty hard to get to at first. You had to open the search box, type in a place or address, and tap on the search result. Next, after tapping on the "Navigate" button, Google showed a warning stating that Navigation was in beta and should not be trusted. After tapping on "accept," you could jump in a car, and a harsh-sounding robot voice would guide you to your destination. Hidden behind the menu button was an option to check out the traffic and accidents for the entire route. This design of Navigation hung around forever. Even when the main Google Maps interface was updated in Android 4.0, the Android 2.0 stylings in the Navigation section hung around until almost Android 4.3. + +Maps would also show a route overview, which contained traffic data for your route. At first it was just licensed by the usual traffic data provider, but later, Google would use information from Android and iOS phones running Google Maps to [crowd source traffic data][5]. It was the first step in Google's dominance of the mobile map game. After all, real-time traffic monitoring is really just a matter of how many points of data you have. Today, with hundreds of millions of Google Maps users across iOS and Android, Google has become the best provider of traffic data in the world. + +With Maps Navigation, Android finally found its killer app. Google was offering something no one else could. There was finally an answer to the "Why should I buy this over an iPhone?" question. Google Maps didn't require PC-based updating like many GPS units did, either. It was always up-to-date thanks to the cloud, and all of those updates were free. The only downside was that you needed an Internet connection to use Google Maps. + +As was greatly publicized during the [Apple Maps fiasco][6], accurate maps have become one of the most important features of a smartphone, even if no one really appreciates them when they work. Mapping the world is really only solvable with tons of person power, and today, Google’s “Geo" division is the largest in the company with more than [7,000 employees][7]. For most of these people, their job is to literally drive down every road in the world with the company’s camera-filled Street View cars. After eight years of data collection, Google has more than [five million miles][8] of 360-degree Street View imagery, and Google Maps is one of the biggest, most untouchable pillars of the company. + +![The Car Home screen, and, because we have room, a horizontal version of Navigation.](http://cdn.arstechnica.net/wp-content/uploads/2014/01/carhome1.png) +The Car Home screen, and, because we have room, a horizontal version of Navigation. +Photo by Ron Amadeo + +Along with Google Maps Navigation came "Car Home," a large-buttoned home screen designed to help you use your phone while driving. It wasn't customizable, and each button was just a shortcut to a standard app. The Motorola Droid and its official [car dock accessory][9] had special magnets that would automatically trigger Car Home. While docked, pressing the hardware home button on the Droid would open Car Home instead of the normal home screen, and an on-screen home button led to the normal home screen. + +Car Home, while useful, didn’t last long—it was cut in Android 3.0 and never came back. GPS systems are almost entirely used in cars while driving, but encouraging users to do so with options like “search," which would bring up a keyboard, is something that Google’s lawyers probably weren’t very fond of. With [Apple’s CarPlay][10] and Google’s [Open Automotive Alliance][11], car computers are seeing a resurgence these days. This time, though, there is more of a focus on safety, and government organizations like the National Highway Traffic Safety Administration are on board to help out. + +---------- + +![Ron Amadeo](http://cdn.arstechnica.net/wp-content//uploads/authors/ron-amadeo-sq.jpg) + +[Ron Amadeo][a] / Ron is the Reviews Editor at Ars Technica, where he specializes in Android OS and Google products. He is always on the hunt for a new gadget and loves to rip things apart to see how they work. + +[@RonAmadeo][t] + +-------------------------------------------------------------------------------- + +via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/10/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://arstechnica.com/gadgets/2009/12/review-of-the-motorola-droid/ +[2]:http://www.youtube.com/watch?v=e52TSXwj774 +[3]:http://www.youtube.com/watch?v=UBL47tHrvMA +[4]:http://techcrunch.com/2009/10/28/googles-new-mobile-app-cuts-gps-nav-companies-at-the-knees/ +[5]:http://googleblog.blogspot.com/2009/08/bright-side-of-sitting-in-traffic.html +[6]:http://arstechnica.com/apple/2012/09/apple-ceo-tim-cook-apologizes-for-ios-6-maps-promises-improvements/ +[7]:http://www.businessinsider.com/apple-has-7000-fewer-people-working-on-maps-than-google-2012-9 +[8]:https://developers.google.com/events/io/sessions/383278298 +[9]:http://www.amazon.com/Motorola-Generation-Vehicle-Charger-Packaging/dp/B002Y3BYQA +[10]:http://arstechnica.com/apple/2014/03/ios-in-the-car-becomes-carplay-coming-to-select-dashboards-this-year/ +[11]:http://arstechnica.com/information-technology/2014/01/open-automotive-alliance-aims-to-bring-android-inside-the-car/ +[a]:http://arstechnica.com/author/ronamadeo +[t]:https://twitter.com/RonAmadeo \ No newline at end of file diff --git a/sources/talk/The history of Android/11 - The history of Android.md b/sources/talk/The history of Android/11 - The history of Android.md new file mode 100644 index 0000000000..94a9e762e8 --- /dev/null +++ b/sources/talk/The history of Android/11 - The history of Android.md @@ -0,0 +1,85 @@ +The history of Android +================================================================================ +![The redesigned Dialer and Contacts pages.](http://cdn.arstechnica.net/wp-content/uploads/2014/01/dialercontacts.png) +The redesigned Dialer and Contacts pages. +Photo by Ron Amadeo + +The rounded tabs in the contacts/dialer app were changed to a sharper, more mature-looking design. The dialer changed its name to "Phone" and the dial pad buttons changed from circles to rounded rectangles. Buttons for voicemail, call, and delete were placed at the bottom. This screen is a great example of Android’s lack of design consistency in the pre-3.0 days. Just on this screen, the tabs used sharp-cornered rectangles, the dial pad used rounded rectangles, and the sides of the bottom buttons were complete circles. It was a grab bag of UI widgets where no one ever tried to make anything match anything else. + +One of the new features in Android 2.0 was "Quick Contacts," which took the form of contact thumbnails that were added all over the OS. Tapping on them would bring up a list of shortcuts to contact that person through other apps. This didn't make as much sense in the contacts app, but in something like Google Talk, being able to tap on the contact thumbnail and call the person was very handy. + +![](http://cdn.arstechnica.net/wp-content/uploads/2014/01/calls.png) +Photo by Ron Amadeo + +Android 2.0 was finally equipped with all the on-screen buttons needed to answer and hang up a call without needing a hardware button, and the Droid took advantage of this and removed the now-redundant buttons from its design. Android’s solution to accept or reject calls was these left and right pull tabs. They work a lot like slide-to-unlock (and would later be used for slide-to-unlock)—a slide from the green button to the right would answer, and a slide from the red button to the left would reject the call. Once inside a call, it looked a lot like Android 1.6. All the options were still hidden behind the menu button. + +Someone completely phoned-in the art for the dialpad drawer. Instead of redrawing the number "5" button from Android 1.6, they just dropped in bold text that said "Dialpad" and called it a day. + +![The Calculator and Browser.](http://cdn.arstechnica.net/wp-content/uploads/2014/01/calcubrowser.png) +The Calculator and Browser. +Photo by Ron Amadeo + +The calculator was revamped for the first time since its introduction in Android 0.9. The black glass balls were replaced with gradiented blue and black buttons. The crazy red on-press highlight of the old calculator was replaced with a more normal looking white outline. + +The browser's tiny website name bar grew into a full, functional address bar, along with a button for bookmarks. To save on screen real estate, the address bar was attached to the page, so the bar scrolled up with the rest of the page and left you with a full screen for reading. Android 1.6's unique magnifying rectangle zoom control and its associated buttons were tossed in favor of a much simpler double-tab-to-zoom gesture, and the browser could once again render arstechnica.com without crashing. There still wasn't pinch zoom. + +![The camera with the settings drawer open, the flash settings, and the menu over top of the photo review screen.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/cam2-these-are-settigns.jpg) +The camera with the settings drawer open, the flash settings, and the menu over top of the photo review screen. +Photo by Ron Amadeo + +The camera app gained an entire drawer on the left side, which opened to reveal a ton of settings. The Motorola Droid was one of the first Android phones with an LED flash, so there was a setting for flash control, along with settings like scene mode, white balance, effects, picture size, and storage location (SD or Internal). + +On the photo review screen, Google pared down the menu button options. They were no longer redundant when compared to the on-screen options. With the extra room in the menu, all the options fit in the menu bar without needing a "more" button. + +![The “accounts" page of the e-mail app, the new combined inbox, the account & sync page from the system settings, and the auto brightness setting. ](http://cdn.arstechnica.net/wp-content/uploads/2014/02/emailacc2ountsetc.png) +The “accounts" page of the e-mail app, the new combined inbox, the account & sync page from the system settings, and the auto brightness setting. +Photo by Ron Amadeo + +The e-mail app got a big functionality boost. The most important of which is that it finally supported Microsoft Exchange. The Android 2.0 version of Email finally separated the inbox and folder views instead of using the messy mashed-together view introduced in Android 1.0. Email even had a unified inbox that would weave all your messages together from different accounts. + +The inbox view put the generic Email app on even ground with the Gmail app. Combined inbox even trumped Gmail's functionality, which was an extremely rare occurrence. Email still felt like the unwanted stepchild to Gmail, though. It used the Gmail interface to view messages, which meant the inbox and folders used a black theme, and the message view oddly used a light theme. + +The bundled Facebook app had an awesome account sync feature, which would download contact pictures and information from the social network and seamlessly integrate it into the contacts app. Later down the road when Facebook and Google stopped being friends, [Google removed this feature][1]. The company said it didn't like the idea of sharing information with Facebook when Facebook wouldn't share information back, thus a better user experience lost out to company politics. + +(Sadly, we couldn't show off the Facebook app because it is yet another client that died at the hands of OAuth updates. It's no longer possible to sign in from a client this old.) + +The last picture shows the auto brightness control, which Android 2.0 was the first version to support. The Droid was equipped with an ambient light sensor, and tapping on the checkbox would make the brightness slider disappear and allow the device to automatically control the screen brightness. + +As the name would imply, Android 2.0 was Google's biggest update to date. Motorola and Verizon brought Android a slick-looking device with tons of ad dollars behind it, and for a time, “Droid" became a household name. + +### The Nexus One—enter the Google Phone ### + +![](http://cdn.arstechnica.net/wp-content/uploads/2014/03/nexus_4_lineup.jpg) + +In January 2010, the first Nexus device launched, appropriately called the "[Nexus One][2]". The device was a huge milestone for Google. It was the first phone designed and branded by the company, and Google planned to sell the device directly to consumers. The HTC-manufactured Nexus One had a 1GHz, single-core Qualcomm Snapdragon S1 SoC, 512MB of RAM, 512MB of storage, and a 3.7-inch AMOLED display. + +The Nexus One was meant to be a pure Android experience free of carrier meddling and crapware. Google directly controlled the updates. It was able to push software out to users as soon as it was done, rather than having to be approved by carriers, who slowed the process down and were not always eager to improve a phone customers already paid for. + +Google sold the Nexus One [directly over the Web][3], unlocked, contract-free, and at the full retail price of $529.99. While the Nexus One was also sold at T-Mobile stores on-contract for $179.99, Google wanted to change the way the cell phone industry worked in America with its online store. The idea was to pick the phone first and the carrier second, breaking the control the wireless oligarchy had over hardware in the United States. + +Google's retail revolution didn't work out though, and six months after the opening on the online phone store, Google shut the service down. Google cited the primary problem as low sales. In 2010, Internet shopping wasn't the commonplace thing it is today, and consumers weren't ready to spend $530 on a device they couldn’t first hold in their hands. The high price was also a limiting factor; smartphone shoppers were more used to paying $200 up front for devices and agreeing to a two-year contract. There was also the issue of the Motorola Droid, which came out only three months earlier and was not significantly slower. With the Droid’s huge marketing campaign and "iPhone Killer" hype, it already captured much of the same Android enthusiast market that the Nexus One was gunning for. + +While the Nexus One online sales experiment could be considered a failure, Google learned a lot. In 2012, it [relaunched its online store][4] as the "Devices" section on Google Play. + +---------- + +![Ron Amadeo](http://cdn.arstechnica.net/wp-content//uploads/authors/ron-amadeo-sq.jpg) + +[Ron Amadeo][a] / Ron is the Reviews Editor at Ars Technica, where he specializes in Android OS and Google products. He is always on the hunt for a new gadget and loves to rip things apart to see how they work. + +[@RonAmadeo][t] + +-------------------------------------------------------------------------------- + +via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/11/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://techcrunch.com/2011/02/22/google-android-facebook-contacts/ +[2]:http://arstechnica.com/gadgets/2010/01/nexus-one-review/ +[3]:http://arstechnica.com/gadgets/2010/01/googles-big-news-today-was-not-a-phone-but-a-url/ +[4]:http://arstechnica.com/gadgets/2012/04/unlocked-samsung-galaxy-nexus-can-now-be-purchased-from-google/ +[a]:http://arstechnica.com/author/ronamadeo +[t]:https://twitter.com/RonAmadeo \ No newline at end of file diff --git a/sources/talk/The history of Android/12 - The history of Android.md b/sources/talk/The history of Android/12 - The history of Android.md new file mode 100644 index 0000000000..6f7058c56a --- /dev/null +++ b/sources/talk/The history of Android/12 - The history of Android.md @@ -0,0 +1,98 @@ +The history of Android +================================================================================ +### Android 2.1—the discovery (and abuse) of animations ### + +Android 2.1 came out with the launch of the Nexus One, which was only three months after the release of 2.0. The new OS wasn't a huge release, so it still kept the codename "Éclair." Android development was chugging along at an unheard-of pace, with Google averaging a new OS release every two-and-a-half months over the last 15 months. + +Thanks mostly to the marketing efforts of Verizon and the "Droid" line of phones, Android was gaining in popularity. The OS was still considered ugly, though, and while the Android engineers at the time seemed to have almost no formal design training, in Android 2.1 they tried to spruce things up a bit by slathering on heavy-handed animation effects wherever they could. The result was an OS that seemed to be desperately trying to prove that it could do animation effects. Many of the new additions felt more like tech demos than user-experience improvements. + +![The lock and home screens from Android 2.1 and 2.0.](http://cdn.arstechnica.net/wp-content/uploads/2014/01/21.png) +The lock and home screens from Android 2.1 and 2.0. +Photo by Ron Amadeo + +Android 2.0's rotary dial lock screen was kicked to the curb after only one version and replaced with the same pull tabs the incoming call screen used. The lock screen clock was an attempt at a uniquely Android font, but as typefaces go, it was pretty hideous looking. + +One of the biggest features in Android 2.1 was "Live Wallpapers"—interactive or moving images that could be set as the wallpaper. The default Live Wallpaper was a grid of squares with blue, red, yellow, and green lights continually streaking across it. Tapping on the screen would send lights firing out in all four directions from the center of your tap. While Live Wallpapers looked neat (and was a unique feature over the iPhone), the animated backgrounds sucked up battery power and CPU cycles. It seemed to make the whole phone run a little slower. + +On the home screen, the default Google Search widget was given a lot more padding and now sits centered in its row. Page indicators now lived in the bottom left and right corners of the screen, and the number of home screen pages jumped from three to five. The app drawer tab at the bottom was replaced with an icon showing a grid of squares, a metaphor that Google still uses today. + +![A picture showing the app drawer design and a composite image showing the app selection for Android 2.1 and 2.0.](http://cdn.arstechnica.net/wp-content/uploads/2014/01/21icons.png) +A picture showing the app drawer design and a composite image showing the app selection for Android 2.1 and 2.0. +Photo by Ron Amadeo + +With the new app drawer icon came a totally new app drawer. Instead of a tabbed container that lifted up from the bottom of the screen, the app drawer displayed as a full-screen interface. The carbon fiber weave was removed, and the background switched to a plain black background—a decision that would stick around all the way up to KitKat. + +Google decided to add a floating, semi-transparent home icon to the bottom of the app drawer to give people an easy way out of the full-screen tab interface. This could be seen as a precursor to the on-screen home button that was introduced in Android 4.0. + +The app drawer was given a tacky graphics effect, too. While scrolling, the icons at the top and bottom of the list would bend inward and appear to move deeper into the phone, sort of like the opening scroll in Star Wars. + +There were a few changes to the icons. "Amazon MP3" and "Alarm Clock" both lost their first names, along with their premium alphabetical real-estate at the top of the app drawer. Two new apps showed up: News and Weather, and Google Voice, which was Google's telecommunication service. Since the Nexus One was not a Verizon phone, Verizon's Visual Voicemail app was dumped. + +![The revamped clock app.](http://cdn.arstechnica.net/wp-content/uploads/2014/01/clo2ck.png) +The revamped clock app. +Photo by Ron Amadeo + +Along with the name change, the clock app got a total revamp. Tapping on the clock shortcut no longer opened the alarms page; instead it went to a "desk clock" interface (left picture, above) with a background that matched the wallpaper. The clock used the same font from the lock screen, pulling in weather from the new News And Weather app. + +The new alarm page cleaned up a lot of the weirder design decisions made in the old version. The analog clock and selectable clock designs were dead. The checkboxes were replaced with a green on/off light, which was much easier to parse than "gray check/green check." While it might be hard to see from the thumbnail (click for a bigger version), the old alarm design displayed AM and PM next to the time. The 2.1 design did away with that, only showing the relevant meridian. A digital clock was placed at the bottom, and the clock icon took you back to the desk clock interface. + +![The Gallery and individual image screens from 2.1 and 2.0.](http://cdn.arstechnica.net/wp-content/uploads/2014/01/gallery1.png) +The Gallery and individual image screens from 2.1 and 2.0. +Photo by Ron Amadeo + +Google's desire to improve the look of Android was most evident in the 2.1 Gallery, which was all about heavy-handed animation effects and transparencies. When the app opened, individual pictures flew in from the top of the screen and shuffled into little piles that made up an album. When opening an album, the picture stack separated, and the photos slid into a grid formation. Everything you touched would pop open, squish, and stretch like a spring-loaded piece of Jell-o. + +There was no "normal" background for the Gallery. It would randomly pick a picture on the screen and heavily distort it for use as a background image. When that picture scrolled off-screen, it would pick a new background image, so the tone of the background always matched your pictures. + +The top left of the screen housed a breadcrumbs bar. It displayed your current location and any folders between you and the main screen—it could be thought of as an early precursor to the "Up" button that would debut in Android 3.0. In the top right was a link to the camera app, which still sported the same faux-leather design that debuted in Android 1.6—the two designs could not be more different. + +While the camera was another weird, one-off design, never was the wild UI disparity between Android apps more apparent than in the new Gallery. It didn't use Android buttons, menus, or any of the existing UI paradigms. It even hid the status bar in every screen—you could barely tell you were looking at Android. + +In the individual photo view, you could finally swipe between images, which removed the need for chunky left and right arrows. For some reason, the color-matched background wasn't on this screen. It was the only part of the app where the background is black. Zoom controls were in the top-right (still no pinch zoom), and commands were held in a single strip along the bottom of the screen. Hitting the "menu" button (software or hardware) didn't bring up a 2×3 grid of options like every other app—the items in the bottom strip just changed from two options to three other options. + +![The animation-filled Gallery app.](http://cdn.arstechnica.net/wp-content/uploads/2014/01/gallery2.png) +The animation-filled Gallery app. +Photo by Ron Amadeo + +The first picture, above, shows an album view. You could scroll horizontally through a large album or use the fast scroll bar at the bottom of the screen. Long pressing on a picture (or, bizarrely, pressing the hardware menu button) would bring up a "checkbox" interface, where you could tap on several pictures to select them. After you've selected pictures, you could then batch share, delete, or rotate them. + +The menus on this screen and the next individual picture screen were semi-transparent speech bubbles that would spring out of their respective buttons when tapped on. Again, this was about as far away from the normal Android conventions as you could get. The Gallery was also one of the first apps to have an overscroll effect. When you hit the end of the photo wall, the entire surface would skew in the direction of the scrolling. + +The 2.1 Gallery was the first photo client to show your cloud-stored Picasa photos along with local pictures. These were marked with a white camera shutter icon in the bottom left corner of a thumbnail. This would later become Google+ Photos. + +No Android app before or since had looked like the gallery. There was good reason for that—it wasn’t made by Google! The app was farmed out to Cooliris, who didn't bother following a single existing Android UI paradigm. While the app was usable, all the animations and effects made it seem like a case of style over substance. + +![The "News and Weather" app showing... the news and weather.](http://cdn.arstechnica.net/wp-content/uploads/2014/01/newsandweather.png) +The "News and Weather" app showing... the news and weather. +Photo by Ron Amadeo + +Compare the Gallery to the other new Android 2.1 app: News And Weather. While the Gallery was a transparency-filled animation fest, News And Weather was all about dark gradients and contrasting colors. This app powered the weather display on the desk clock app, and it even came with a home screen widget. The first screen just showed the weather and a six-day forecast for your current location. Along the top of the screens were tabs, next to the city name was a small "i" button that would bring up a temperature and precipitation graph. You could slide your finger along the graph to get exact temperatures and precipitation for any given minute. + +The big innovation in this app was swipeable tabs, an idea that would eventually become a standard Android UI convention. After the weather were a bunch of user configurable news tabs, and besides tapping on the tabs to switch to them, you could just swipe horizontally across the screen and the tab would change. The news tabs all showed a list of news headlines that were almost always truncated to the point that you had no idea what the story was about. When opening a webpage from this app, it didn't load the browser. Instead, it opened the story within the app complete with a weird white border. + +![Google Maps showing off some Labs features, the new widget designs, the only screen we can access in Google Voice, and the new tabbed music design.](http://cdn.arstechnica.net/wp-content/uploads/2014/04/ccccombo.jpg) +Google Maps showing off some Labs features, the new widget designs, the only screen we can access in Google Voice, and the new tabbed music design. +Photo by Ron Amadeo + +Widgets in 2.1 were all redesigned, with almost everything receiving a black gradient, and made better use of the available space. The clock changed back to a circle, and the calendar got a blue top, which matched the app a little more closely. Google Voice will start up, but the sign-in is broken—this is as far as you can get. + +The oft-neglected Music app got a minor update. The four-button home screen was removed completely, and tabs for each music display mode were added to the top of the screen. This meant when opening the app, you were immediately presented with a list of music, instead of a navigational page. Unlike the News and Weather app, these newly installed tabs here could not be swiped between. + +---------- + +![Ron Amadeo](http://cdn.arstechnica.net/wp-content//uploads/authors/ron-amadeo-sq.jpg) + +[Ron Amadeo][a] / Ron is the Reviews Editor at Ars Technica, where he specializes in Android OS and Google products. He is always on the hunt for a new gadget and loves to rip things apart to see how they work. + +[@RonAmadeo][t] + +-------------------------------------------------------------------------------- + +via: + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[a]:http://arstechnica.com/author/ronamadeo +[t]:https://twitter.com/RonAmadeo \ No newline at end of file diff --git a/sources/talk/The history of Android/13 - The history of Android.md b/sources/talk/The history of Android/13 - The history of Android.md new file mode 100644 index 0000000000..85c04441ac --- /dev/null +++ b/sources/talk/The history of Android/13 - The history of Android.md @@ -0,0 +1,104 @@ +The history of Android +================================================================================ +![](http://cdn.arstechnica.net/wp-content/uploads/2014/03/ready-fight.png) + +### Android 2.1, update 1—the start of an endless war ### + +Google was a major launch partner for the first iPhone—the company provided Google Maps, Search, and YouTube for Apple’s mobile operating system. At the time, Google CEO Eric Schmidt was a member of Apple’s board of directors. In fact, during the original iPhone presentation, [Schmidt was the first person on stage][] after Steve Jobs, and he joked that the two companies were so close they could merge into “AppleGoo." + +While Google was developing Android, the relationship between the two companies slowly became contentious. Still, Google largely kept Apple happy by keeping key iPhone features, like pinch zoom, out of Android. The Nexus One, though, was the first slate-style Android flagship without a keyboard, which gave the device the same form factor as the iPhone. Combined with the newer software and Google branding, this was the last straw for Apple. According to Walter Isaacson’s biography on Steve Jobs, after seeing the Nexus One in January 2010, the Apple CEO was furious, saying "I will spend my last dying breath if I need to, and I will spend every penny of Apple's $40 billion in the bank, to right this wrong... I'm going to destroy Android, because it's a stolen product. I'm willing to go thermonuclear war on this." + +All of this happened behind closed doors, only coming out years after the Nexus One was released. The public first caught wind of this growing rift between Google and Apple when, a month after the release of Android 2.1, an update shipped for the Nexus One called “[2.1 update 1.][2]" The updated added one feature, something iOS long held over the head of Android: pinch-zoom. + +While Android supported multi-touch APIs since version 2.0, the default operating system apps stayed clear of this useful feature at the behest of Jobs. After reconciliation meetings over the Nexus One failed, there was no longer a reason to keep pinch zoom out of Android. Google pushed all their chips into the middle of the table, hit the update button, and was finally “all-in" with Android. + +With pinch zoom enabled in Google Maps, the Browser, and the Gallery, the Google-Apple smartphone war was on. In the coming years, the two companies would become bitter enemies. A month after the pinch zoom update, Apple went on the warpath, suing everyone and everything that used Android. HTC, Motorola, and Samsung were all brought to court, and some of them are still in court. Schmidt resigned from Apple’s board of directors. Google Maps and YouTube were kicked off of the iPhone, and Apple even started a rival mapping service. Today, the two players that were almost "AppleGoo" compete in smartphones, tablets, laptops, movies, TV shows, music, books, apps, e-mail, productivity software, browsers, personal assistants, cloud storage, mobile advertising, instant messaging, mapping, and set-top-boxes... and soon the two will be competing in car computers, wearables, mobile payments, and living room gaming. + +### Android 2.2 Froyo—faster and Flash-ier ### + +[Android 2.2][3] came out four months after the release of 2.1, in May 2010. Froyo featured major under-the-hood improvements for Android, all made in the name of speed. The biggest addition was just-in-time (JIT) compilation. JIT automatically converted java bytecode into native code at runtime, which led to drastic performance improvements across the board. + +The Browser got a performance boost, too, thanks to the integration of the V8 javascript engine from Chrome. This was the first of many features the Android browser would borrow from Chrome, and eventually the stock browser would be completely replaced by a mobile version of Chrome. Until that day came, though, the Android team needed to ship a browser. Pulling in Chrome parts was an easy way to upgrade. + +While Google was focusing on making its platform faster, Apple was making its platform bigger. Google's rival released the 10-inch iPad a month earlier, ushering in the modern era of tablets. While some large Froyo and Gingerbread tablets were released, Google's official response—Android 3.0 Honeycomb and the Motorola Xoom—would not arrive for nine months. + +![Froyo added a two-icon dock at the bottom and universal search.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/22-2.png) +Froyo added a two-icon dock at the bottom and universal search. +Photo by Ron Amadeo + +The biggest change on the Froyo homescreen was the new dock at the bottom, which filled the previously empty space to the left and right of the app drawer with phone and browser icons. Both of these icons were custom-designed white versions of the stock icons, and they were not user-configurable. + +The default layout removed all the icons, and it only stuck the new tips widget on the screen, which directed you to click on the launcher icon to access your apps. The Google Search widget gained a Google logo which doubled as a button. Tapping it would open the search interface and allow you to restrict a search by Web, apps, or contacts. + +![The downloads page showing the “update all" button, the Flash app, a flash-powered site where anything is possible, and the “move to SD" button. ](http://cdn.arstechnica.net/wp-content/uploads/2014/03/small-market-2.jpg) +The downloads page showing the “update all" button, the Flash app, a flash-powered site where anything is possible, and the “move to SD" button. +Photo by [Ryan Paul][4] + +Some of the best additions to Froyo were more download controls for the Android Market. There was now an “Update all" button pinned to the bottom of the Downloads page. Google also added an automatic updating feature, which would automatically install apps as long as the permissions hadn't changed; automatic updating was off by default, though. + +The second picture shows Adobe Flash Player, which was exclusive to Froyo. The app plugged in to the browser and allowed for a “full Web" experience. In 2010, this meant pages heavy with Flash navigation and video. Flash was one of Android's big differentiators compared to the iPhone. Steve Jobs started a holy war against Flash, declaring it an obsolete, buggy piece of software, and Apple would not allow it on iOS. So Android picked up the Flash ball and ran with it, giving users the option of having a semi-workable implementation on Android. + +At the time, Flash could bring even a desktop computer to its knees, so keeping it on all the time on a mobile phone delivered terrible performance. To fix this, Flash on Android's browser could be set to "on-demand"—Flash content would not load until users clicked on the Flash placeholder icon. Flash support would last on Android until 4.1, when Adobe gave up and killed the project. Ultimately Flash never really worked well on Android. The lack of Flash on the iPhone, the most popular mobile device, pushed the Internet to eventually dump the platform. + +The last picture shows the newly added ability to move apps to the SD card, which, in an era when phones came with 512MB of internal storage, was sorely needed. + +![The car app and camera app. The camera could now rotate.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/22carcam-2.png) +The car app and camera app. The camera could now rotate. +Photo by Ron Amadeo + +The camera app was finally updated to support portrait mode. The camera settings were moved out of the drawer and into a semi-transparent strip of buttons next to the shutter button and other controls. This new design seemed to take a lot of inspiration from the Cooliris Gallery app, with transparent, springy speech bubble popups. It was quite strange to see the high-tech Cooliris-style UI design grafted on to the leather-bound camera app—the aesthetics didn't match at all. + +![The semi-broken Facebook app is a good example of the common 2x3 navigation page. Google Goggles was included but also broken.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/facebook.png) +The semi-broken Facebook app is a good example of the common 2x3 navigation page. Google Goggles was included but also broken. +Photo by Ron Amadeo + +Unlike the Facebook client included in Android 2.0 and 2.1, the 2.2 version still sort of works and can sign in to Facebook's servers. The Facebook app is a good example of Google's design guidelines for apps at the time, which suggested having a navigational page consisting of a 3x2 grid of icons as the main page of an app. + +This was Google's first standardized attempt at getting navigational elements out of the menu button and onto the screen, where users could find them. This design was usable, but it added an extra roadblock between launching an app and using an app. Google would later realize that when users launch an app, it was a better idea to show them content instead of an interstitial navigational screen. In Facebook for instance, opening to the news feed would be much more appropriate. And later app designs would relegate navigation to a second-tier location—first as tabs at the top of the screen, and later Google would settle on the "Navigation Drawer," a slide-out panel containing all the locations in an app. + +Also packed in with Froyo was Google Goggles, a visual search app which would try to identify the subject of a picture. It was useful for identifying works of art, landmarks, and barcodes, but not much else. These first two setup screens, along with the camera interface, are all that work in the app anymore. Today, you can't actually complete a search with a client this old. There wasn't much to see anyway; it was a camera interface that returned a search results page. + +![The Twitter app, which was an animation-filled collaboration between Google and Twitter.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/twitters-2.png) +The Twitter app, which was an animation-filled collaboration between Google and Twitter. +Photo by Ron Amadeo + +Froyo included the first Android Twitter app, which was actually a collaboration between Google and Twitter. At the time, a Twitter app was one of the big holes in Android's app lineup. Developers favored the iPhone, and with Apple's head start and stringent design requirements, the App Store's app selection was far superior to Android's. But Google needed a Twitter app, so it teamed up with the company to get the first version out the door. + +This represented Google's newer design language, which meant it had an interstitial navigation page and a "tech-demo" approach to animations. The Twitter app was even more heavy-handed with animation effects than the Cooliris Gallery—everything moved all the time. The clouds at the top and bottom of every page continually scrolled at varying speeds, and the Twitter bird at the bottom flapped its wings and moved its head left and right. + +The Twitter app actually featured an early precursor to the Action Bar, a persistent strip of top-aligned controls that was introduced in Android 3.0 . Along the top of every screen was a blue bar containing the Twitter logo and buttons like search, refresh, and compose tweet. The big difference between this and the later action bars was that the Twitter/Google design lacks an "Up" button in the top right corner, and it actually uses an entire second bar to show your current location within the app. In the second picture above, you can see a whole bar dedicated to the location label "Tweets" (and, of course, the continuously scrolling clouds). The Twitter logo in the second bar acted as another navigational element, sometimes showing additional drill down areas within the current section and sometimes showing the entire top-level shortcut group. + +The 2.3 Tweet stream didn't look much different from what it does today, save for the hidden action buttons (reply, retweet, etc), which were all under the right-aligned arrow buttons. They popped up in a speech bubble menu that looked just like the navigational popup. The faux-action bar was doing serious work on the create tweet page. It housed the twitter logo, remaining character count, and buttons to attach a picture, take a picture, and a contact mention button. + +The Twitter app even came with a pair of home screen widgets. The big one took up eight slots and gave you a compose bar, update button, one tweet, and left and right arrows to view more tweets. The little one showed a tweet and reply button. Tapping on the compose bar on the large widget immediately launched the main "Create Tweet," rendering the "update" button worthless. + +![Google Talk and the new USB dialog.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/talkusb.png) +Google Talk and the new USB dialog. +Photo by Ron Amadeo + +Elsewhere, Google Talk (and the unpictured SMS app) changed from a dark theme to a light theme, which made both of them look a lot closer to the current, modern apps. The USB storage screen that popped up when you plugged into a computer changed from a simple dialog box to a full screen interface. Instead of a text-only design, the screen now had a mutant Android/USB-stick hybrid. + +While Android 2.2 didn’t feature much in the way of user-facing features, a major UI overhaul was coming in the next two versions. Before all the UI work, though, Google wanted to revamp the core of Android. Android 2.2 accomplished that. + +---------- + +![Ron Amadeo](http://cdn.arstechnica.net/wp-content//uploads/authors/ron-amadeo-sq.jpg) + +[Ron Amadeo][a] / Ron is the Reviews Editor at Ars Technica, where he specializes in Android OS and Google products. He is always on the hunt for a new gadget and loves to rip things apart to see how they work. + +[@RonAmadeo][t] + +-------------------------------------------------------------------------------- + +via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/13/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.youtube.com/watch?v=9hUIxyE2Ns8#t=3016 +[2]:http://arstechnica.com/gadgets/2010/02/googles-nexus-one-gets-multitouch/ +[3]:http://arstechnica.com/information-technology/2010/07/android-22-froyo/ +[4]:http://arstechnica.com/information-technology/2010/07/android-22-froyo/ +[a]:http://arstechnica.com/author/ronamadeo +[t]:https://twitter.com/RonAmadeo \ No newline at end of file diff --git a/sources/talk/The history of Android/14 - The history of Android.md b/sources/talk/The history of Android/14 - The history of Android.md new file mode 100644 index 0000000000..2825d7eee8 --- /dev/null +++ b/sources/talk/The history of Android/14 - The history of Android.md @@ -0,0 +1,82 @@ +The history of Android +================================================================================ +### Voice Actions—a supercomputer in your pocket ### + +In August 2010, a new feature “[Voice Actions][1]" launched in the Android Market as part of the Voice Search app. Voice Actions allowed users to issue voice commands to their phone, and Android would try to interpret them and do something smart. Something like "Navigate to [address]" would fire up Google Maps and start turn-by-turn navigation to your stated destination. You could also send texts or e-mails, make a call, open a Website, get directions, or view a location on a map—all just by speaking. + +注:youtube视频地址 + + +Voice Actions was the culmination of a new app design philosophy for Google. Voice Actions was the most advanced voice control software for its time, and the secret was that Google wasn’t doing any computing on the device. In general, voice recognition was very CPU intensive. In fact, many voice recognition programs still have a “speed versus accuracy" setting, where users can choose how long they are willing to wait for the voice recognition algorithms to work—more CPU power means better accuracy. + +Google’s innovation was not bothering to do the voice recognition computing on the phone’s limited processor. When a command was spoken, the user’s voice was packaged up and shipped out over the Internet to Google’s cloud servers. There, Google’s farm of supercomputers pored over the message, interpreted it, and shipped it back to the phone. It was a long journey, but the Internet was finally fast enough to accomplish something like this in a second or two. + +Many people throw the phrase “cloud computing" around to mean “anything that is stored on a server," but this was actual cloud computing. Google was doing hardcore compute operations in the cloud, and because it is throwing a ridiculous amount of CPU power at the problem, the only limit to the voice recognition accuracy is the algorithms themselves. The software didn't need to be individually “trained" by each user, because everyone who used Voice Actions was training it all the time. Using the power of the Internet, Android put a supercomputer in your pocket, and, compared to existing solutions, moving the voice recognition workload from a pocket-sized computer to a room-sized computer greatly increased accuracy. + +Voice recognition had been a project of Google’s for some time, and it all started with an 800 number. [1-800-GOOG-411][1] was a free phone information service that Google launched in April 2007. It worked just like 411 information services had for years—users could call the number and ask for a phone book lookup—but Google offered it for free. No humans were involved in the lookup process, the 411 service was powered by voice recognition and a text-to-speech engine. Voice Actions was only possible after three years of the public teaching Google how to hear. + +Voice recognition was a great example of Google’s extremely long-term thinking—the company wasn't afraid to invest in a project that wouldn’t become a commercial product for several years. Today, voice recognition powers products all across Google. It’s used for voice input in the Google Search app, Android’s voice typing, and on Google.com. It’s also the primary input interface for Google Glass and [Android Wear][2]. + +The company even uses it beyond input. Google's voice recognition technology is used to transcribe YouTube videos, which powers automatic closed captioning for the hearing impaired. The transcription is even indexed by Google, so you can search for words that were said in the video. Voice is the future of many products, and this long-term planning has led Google to be one of the few major tech companies with an in-house voice recognition service. Most other voice recognition products, like Apple’s Siri and Samsung devices, are forced to use—and pay a license fee for—voice recognition from Nuance. + +With the computer hearing system up and running, Google is applying this strategy to computer vision next. That's why things like Google Goggles, Google Image Search, and [Project Tango][3] exist. Just like the days of GOOG-411, these projects are in the early stages. When [Google's robot division][4] gets off the ground with a real robot, it will need to see and hear, and Google's computer vision and hearing projects will likely give the company a head start. + +![The Nexus S, the first Nexus phone made by Samsung.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/NS500.png) +The Nexus S, the first Nexus phone made by Samsung. + +### Android 2.3 Gingerbread—the first major UI overhaul ### + +Gingerbread was released in December 2010, a whopping seven months after the release of 2.2. The wait was worth it, though, as Android 2.3 changed just about every screen in the OS. It was the first major overhaul since the initial formation of Android in version 0.9. 2.3 would kick off a series of continual revamps in an attempt to turn Android from an ugly duckling into something that was capable of holding its own—aesthetically—against the iPhone. + +And speaking of Apple, six months earlier, the company released the iPhone 4 and iOS 4, which added multitasking and Facetime video chat. Microsoft was finally back in the game, too. The company jumped into the modern smartphone era with the launch of Windows Phone 7 in November 2010. + +Android 2.3 focused a lot on the interface design, but with no direction or design documents, many apps ended up getting a new bespoke theme. Some apps went with a flatter, darker theme, some used a gradient-filled, bubbly dark theme, and others went with a high-contrast white and green look. While it wasn't cohesive, Gingerbread accomplished the goal of modernizing nearly every part of the OS. It was a good thing, too, because the next phone version of Android wouldn’t arrive until nearly a year later. + +Gingerbread’s launch device was the Nexus S, Google’s second flagship device and the first Nexus manufactured by Samsung. While today we are used to new CPU models every year, back then that wasn't the case. The Nexus S had a 1GHz Cortex A8 processor, just like the Nexus One. The GPU was slightly faster, and that was it in the speed department. It was a little bigger than the Nexus One, with a 4-inch, 800×480 AMOLED display. + +Spec wise, the Nexus S might seem like a tame upgrade, but it was actually home to a lot of firsts for Android. The Nexus S was Google’s first flagship to shun a MicroSD slot, shipping with 16GB on-board memory. The Nexus One had only 512MB of storage, but it had a MicroSD slot. Removing the SD slot simplified storage management for users—there was just one pool now—but hurt expandability for power users. It was also Google's first phone to have NFC, a special chip in the back of the phone that could transfer information when touched to another NFC chip. For now, the Nexus S could only read NFC tags—it couldn't send data. + +Thanks to some upgrades in Gingerbread, the Nexus S was one of the first Android phones to ship without a hardware D-Pad or trackball. The Nexus S was now down to just the power, volume, and the four navigation buttons. The Nexus S was also a precursor to the [crazy curved-screen phones][6] of today, as Samsung outfitted the Nexus S with a piece of slightly curved glass. + +![Gingerbread changed the status bar and wallpaper, and it added a bunch of new icons.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/appdrawershop.png) +Gingerbread changed the status bar and wallpaper, and it added a bunch of new icons. +Photo by Ron Amadeo + +An upgraded "Nexus" live wallpaper was released as an exclusive addition to the Nexus S. It was basically the same idea as the Nexus One version, with its animated streaks of light. On the Nexus S, the "grid" design was removed and replaced with a wavy blue/gray background. The dock at the bottom was given square corners and colored icons. + +![The new notification panel and menu.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/32.png) +The new notification panel and menu. +Photo by Ron Amadeo + +The status bar was finally overhauled from the version that first debuted in 0.9. The bar was changed from a white gradient to flat black, and all the icons were redrawn in gray and green. Just about everything looked crisper and more modern thanks to the sharp-angled icon design and higher resolution. The strangest decisions were probably the removal of the time period from the status bar clock and the confusing shade of gray that was used for the signal bars. Despite gray being used for many status bar icons, and there being four gray bars in the above screenshot, Android was actually indicating no cellular signal. Green bars would indicate a signal, gray bars indicated “empty" signal slots. + +The green status bar icons in Gingerbread also doubled as a status indicator of network connectivity. If you had a working connection to Google's servers, the icons would be green, if there was no connection to Google, the icons turned white. This let you easily identify the connectivity status of your connection while you were out and about. + +The notification panel was changed from the aging Android 1.5 design. Again, we saw a UI piece that changed from a light theme to a dark theme, getting a dark gray header, black background, and black-on-gray text. + +The menu was darkened too, changing from a white background to a black one with a slight transparency. The contrast between the menu icons and the background wasn’t as strong as it should be, because the gray icons are the same color as they were on the white background. Requiring a color change would mean every developer would have to make new icons, so Google went with the preexisting gray color on black. This was a change at the system level, so this new menu would show up in every app. + +---------- + +![Ron Amadeo](http://cdn.arstechnica.net/wp-content//uploads/authors/ron-amadeo-sq.jpg) + +[Ron Amadeo][a] / Ron is the Reviews Editor at Ars Technica, where he specializes in Android OS and Google products. He is always on the hunt for a new gadget and loves to rip things apart to see how they work. + +[@RonAmadeo][t] + +-------------------------------------------------------------------------------- + +via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/14/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://arstechnica.com/gadgets/2010/08/google-beefs-up-voice-search-mobile-sync/ +[2]:http://arstechnica.com/business/2007/04/google-rolls-out-free-411-service/ +[3]:http://arstechnica.com/gadgets/2014/03/in-depth-with-android-wear-googles-quantum-leap-of-a-smartwatch-os/ +[4]:http://arstechnica.com/gadgets/2014/02/googles-project-tango-is-a-smartphone-with-kinect-style-computer-vision/ +[5]:http://arstechnica.com/gadgets/2013/12/google-robots-former-android-chief-will-lead-google-robotics-division/ +[6]:http://arstechnica.com/gadgets/2013/12/lg-g-flex-review-form-over-even-basic-function/ +[a]:http://arstechnica.com/author/ronamadeo +[t]:https://twitter.com/RonAmadeo \ No newline at end of file diff --git a/sources/talk/The history of Android/15 - The history of Android.md b/sources/talk/The history of Android/15 - The history of Android.md new file mode 100644 index 0000000000..078e106d1c --- /dev/null +++ b/sources/talk/The history of Android/15 - The history of Android.md @@ -0,0 +1,86 @@ +The history of Android +================================================================================ +![Gingerbread's new keyboard, text selection UI, overscroll effect, and new checkboxes.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/3kb-high-over-check.png) +Gingerbread's new keyboard, text selection UI, overscroll effect, and new checkboxes. +Photo by Ron Amadeo + +One of the most important additions to Android 2.3 was the system-wide text selection interface, which you can see in the Google search bar in the left screenshot. Long pressing a word would highlight it in orange and make draggable handles appear on either side of the highlight. You could then adjust the highlight using the handles and long press on the highlight to bring up options for cut, copy, and paste. Previous methods used tiny controls that relied on a trackball or D-Pad, but with this first finger-driven text selection method, the Nexus S didn’t need the extra hardware controls. + +The right set of images shows the new checkbox design and overscroll effect. The Froyo checkbox worked like a light bulb—it would show a green check when on and a gray check when off. Gingerbread now displayed an empty box when an option is turned off—which made much more sense. Gingerbread was the first version to have an overscroll effect. An orange glow appeared when you hit the end of a list and grew larger as you pulled more against the dead end. Bounce scrolling would probably have made the most sense, but that was patented by Apple. + +![The new dialer and dialog box design.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/dialdialog.png) +The new dialer and dialog box design. +Photo by Ron Amadeo + +The dialer received a little more love in Gingerbread. It became darker, and Google finally addressed the combination of sharp corners, rounded corners, and complete circles that it had going on. Now every corner was a sharp right angle. All the dial pad buttons were replaced with a weird underline, like some faint leftovers of what used to be a button. You were never really sure if you were supposed to see a button or not—our brains wanted to imagine the rest of the square. + +The Wi-Fi network dialog is pictured to show off the rest of the system-wide changes. All the dialog box titles were changed from gray to black, every dialog box, dropdown, and button corner was sharpened up, and everything was a little bit darker. All these system-wide changes made all of Gingerbread look a lot less bubbly and more mature. The "all black everything" look wasn't necessarily the most welcoming color palette, but it certainly looked better than Android's previous gray-and-beige color scheme. + +![The new Market, which added a massive green header.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/4market.png) +The new Market, which added a massive green header. +Photo by Ron Amadeo + +While not exclusive to Gingerbread, with the launch of the new OS came "Android Market 2.0." Most of the list design was the same, but Google covered the top third of the screen with a massive green banner that was used for featured apps and navigation. The primary design inspiration here was probably the green Android mascot—the color is a perfect match. At a time when the OS was getting a darker design, the neon green banner and white list made the Market a lot brighter. + +However, the same green background image was used across phones, which meant on lower resolution devices, the green banner was even bigger. Users complained so much about the wasted screen space that later updates would make the green banner scroll up with the content. At the time, horizontal mode was even worse—it would fill the left half of the screen with the static green banner. + +![An app page from the Market showing the collapsible text section, the "My apps" section, and Google Books screenshots.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/5rest-of-market-and-books.png) +An app page from the Market showing the collapsible text section, the "My apps" section, and Google Books screenshots. +Photo by Ron Amadeo + +App pages were redesigned with collapsible sections. Rather than having to scroll through a thousand-line description, text boxes were truncated to only the first few lines. After that, a "more" button needed to be tapped. This allowed users to easily scroll through the list and find things like pictures and "contact developer," which would usually be farther down the page. + +The other parts of the Android homescreen wisely toned down the green monster. The rest of the app was mostly just the old Market with new green navigational elements. Any of the old tabbed interfaces were upgraded to swipeable tabs. In the right Gingerbread image, swiping right-to-left would switch from "Top Paid" to "Top Free," which made navigation a little easier. + +Gingerbread came with the first of what would become the Google Play content stores: Google Books. The app was a basic book reader that would display books in a simple thumbnail grid. The "Get eBooks" link at the top of the screen opened the browser and loaded a mobile website where you could buy books. + +Google Books and the “My Apps" page of the Market were both examples of early precursors to the Action Bar. Just like the current guidelines, a stickied top bar featured the app icon, the name of the screen within the app, and a few controls. The layout of these two apps was actually pretty modern looking. + +![The new Google Maps.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/maps1.png) +The new Google Maps. +Photo by Ron Amadeo + +Google Maps (which, again, at this point was on the Android Market and not exclusive to this version of Android) now featured another action bar precursor in the form of a top-aligned control bar. This version of an early action bar featured a lot of experimenting. The majority of the bar was taken up with a search box, but you could never type into the bar. Tapping on it would open the old search interface from Android 1.x, with a totally different bar design and bubbly buttons. This 2.3 bar wasn't anything more than a really big search button. + +![The new business pages, which switched from black to white.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/maps2-Im-hungry.png) +The new business pages, which switched from black to white. +Photo by Ron Amadeo + +Along with Places' new top billing in the app drawer came a redesigned interface. Unlike the rest of Gingerbread, this switched from black to white. Google also kept the old buttons with rounded corners. This new version of Maps helpfully displayed the hours of operation of a business, and it offered advanced search options like places that were currently open or thresholds for ratings and price. Reviews were brought to the surface, allowing a user to easily get a feel for the current business. It was now also possible to "star" a location from the search results and save it for later. + +![The new YouTube design, which, amazingly, sort of matches the old Maps business page design.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/youtube22.png) +The new YouTube design, which, amazingly, sort of matches the old Maps business page design. +Photo by Ron Amadeo + +The YouTube app seemed completely separate from the rest of Android, as if whoever designed this had no idea what Gingerbread would end up looking like. Highlights were red and gray instead of green and orange, and rather than the flat black of Gingerbread, YouTube featured bubbly buttons, tabs, and bars with rounded corners and heavy gradients. The new app did get a few things right, though. All the tabs could be horizontally swiped through, and the app finally added a vertical viewing mode for videos. Android seemed like such an uncoordinated effort at this stage. It’s like someone told the YouTube team “make it black," and that was all the direction they were given. The only Android entity this seemed to match was the old Google Maps business page design. + +Despite the weird design choices, the YouTube app had the best approximation yet of an action bar. Besides the bar at the top with an app logo and a few buttons, the rightmost button was labeled “more" and would bring up options that didn’t fit in the bar. Today, this is called the “Overflow" button, and it's a standard UI piece. + +![The new Google Talk, which supported voice and video calls, and the new Voice Actions interface.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/talkvoice.png) +The new Google Talk, which supported voice and video calls, and the new Voice Actions interface. +Photo by Ron Amadeo + +One last update for Gingerbread came with Android 2.3.4, which brought a new version of Google Talk. Unlike the Nexus One, the Nexus S had a front-facing camera—and the redesigned version of Google Talk had voice and video calling. The colored indicators on the right of the friends list were used to indicate not only presence, but voice and video availability. A dot was text only, a microphone was text or voice, and a camera was text, voice, or video. If available, tapping on a voice or video icon would immediately start a call with that person. + +Gingerbread is the oldest version of Android still supported by Google. Firing up a Gingerbread device and letting it sit for a few minutes will result in a ton of upgrades. Gingerbread will pull down Google Play Services, resulting in a ton of new API support, and it will upgrade to the very newest version of the Play Store. Open the Play Store and hit the update button, and just about every single Google app will be replaced with a modern version. We tried to keep this article authentic to the time Gingerbread was released, but a real user stuck on Gingerbread today will be treated to a flood of anachronisms. + +Gingerbread is still supported because there are a good number of users still running the now ancient OS. Gingerbread's staying power is due to the extremely low system requirements, making it the go-to choice for slow, cheap phones. The next few versions of Android were much more exclusive and/or demanding on hardware. For instance, Android 3.0 Honeycomb is not open source, meaning it could only be ported to a device with Google's cooperation. It was also only for tablets, making Gingerbread the newest phone version of Android for a very long time. 4.0 Ice Cream Sandwich was the next phone release, but it significantly raised Android’s systems requirements, cutting off the low-end of the market. Google is hoping to get cheaper phones back on the update track with 4.4 KitKat, which brings the system requirements back down to 512MB of RAM. The passage of time helps, too—by now, even cheap SoCs have caught up to the demands of a 4.0-era version of Android. + +---------- + +![Ron Amadeo](http://cdn.arstechnica.net/wp-content//uploads/authors/ron-amadeo-sq.jpg) + +[Ron Amadeo][a] / Ron is the Reviews Editor at Ars Technica, where he specializes in Android OS and Google products. He is always on the hunt for a new gadget and loves to rip things apart to see how they work. + +[@RonAmadeo][t] + +-------------------------------------------------------------------------------- + +via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/15/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[a]:http://arstechnica.com/author/ronamadeo +[t]:https://twitter.com/RonAmadeo \ No newline at end of file diff --git a/sources/talk/The history of Android/16 - The history of Android.md b/sources/talk/The history of Android/16 - The history of Android.md new file mode 100644 index 0000000000..91e0946078 --- /dev/null +++ b/sources/talk/The history of Android/16 - The history of Android.md @@ -0,0 +1,66 @@ +The history of Android +================================================================================ +### Android 3.0 Honeycomb—tablets and a design renaissance ### + +Despite all the changes made in Gingerbread, Android was still the ugly duckling of the mobile world. Compared to the iPhone, its level of polish and design just didn't hold up. On the other hand, one of the few operating systems that could stand up to iOS's aesthetic acumen was Palm's WebOS. WebOS was a cohesive, well-designed OS with several innovative features, and it was supposed to save the company from the relentless march of the iPhone. + +A year after launch though, Palm was running out of cash. The company never saw the iPhone coming, and by the time WebOS was ready, it was too late. In April 2010, Hewlett-Packard purchased Palm for $1 billion. While HP bought a product with a great user interface, the lead designer of that interface, a man by the name of Matias Duarte, did not join HP. In May 2010, just before HP took control of Palm, Duarte jumped ship to Google. HP bought the bread, but Google hired the baker. + +![The first Honeycomb device, the Motorola Xoom 10-inch tablet.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/Motorola-XOOM-MZ604.jpg) +The first Honeycomb device, the Motorola Xoom 10-inch tablet. + +At Google, Duarte was named the Director of Android User Experience. This was the first time someone was publicly in charge of the way Android looked. While Matias landed at Google during the launch of Android 2.2, the first version he truly impacted was Android 3.0, Honeycomb, released in February 2011. + +By Google's own admission, Honeycomb was rushed out the door. Ten months prior, Apple modernized the tablet with the launch of the iPad, and Google wanted to respond as quickly as possible. Honeycomb was that response, a version of Android that ran on 10-inch touchscreens. Sadly, getting this OS to market was such a priority that corners were cut to save time. + +The new OS was for tablets only—phones would not be updated to Honeycomb, which spared Google the difficult problem of making the OS work on wildly different screen sizes. But with phone support off the table, a Honeycomb source drop never happened. Previous Android versions were open source, enabling the hacking community to port the latest version to all sorts of different devices. Google didn't want app developers to feel pressured to support half-broken Honeycomb phone ports, so Google kept the source to itself and strictly controlled what could and couldn't have Honeycomb. The rushed development led to problems with the software, too. At launch, Honeycomb wasn't particularly stable, SD cards didn't work, and Adobe Flash—one of Android's big differentiators—wasn't supported. + +One of the few devices that could have Honeycomb was [the Motorola Xoom][1], the flagship product for the new OS. The Xoom was a 10-inch, 16:9 tablet with 1GB of RAM and a dual-core, 1GHz Nvidia Tegra 2 processor. Despite being the launch device of a new version of Android where Google controlled the updates directly, the device wasn't called a "Nexus." The most likely reason for this was that Google didn't feel confident enough in the product to call it a flagship. + +Nevertheless, Honeycomb was a major milestone for Android. With an experienced designer in charge, the entire Android user interface was rebuilt, and most of the erratic app designs were brought to heel. Android's default apps finally looked like pieces of a cohesive whole with similar layouts and theming across the board. Redesigning Android would be a multi-version project though—Honeycomb was just the start of getting Android whipped into shape. This first draft laid the groundwork for how future versions of Android would function, but it also used a heavy-handed sci-fi theme that Google would spend the next few versions toning down. + +![The home screens of Honeycomb and Gingerbread.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/homeskreen.png) +The home screens of Honeycomb and Gingerbread. +Photo by Ron Amadeo + +While Gingerbread only experimented with a sci-fi look in its photon wallpaper, Honeycomb went full sci-fi with a Tron-inspired theme for the entire OS. Everything was made black, and if you needed a contrasting color, you could choose from a few different shades of blue. Everything that was made blue was also given a "glow" effect, making the entire OS look like it was powered by alien technology. The default background was a holographic grid of hexagons (a Honeycomb! get it?) that looked like it was the floor of a teleport pad on a spaceship. + +The most important change of Honeycomb was the addition of the system bar. The Motorola Xoom had no hardware buttons other than power and volume, so a large black bar was added along the bottom of the screen that housed the navigational buttons. This meant the default Android interface no longer needed specialized hardware buttons. Previously, Android couldn't function without hardware Back, Menu, and Home keys. Now, with the software supplying all the necessary buttons, anything with a touch screen was able to run Android. + +The biggest benefit of the new software buttons was flexibility. The new app guidelines stated that apps should no longer require a hardware menu button, but for those that do, Honeycomb detects this and adds a fourth button to the system bar that allows these apps to work. The other flexibility attribute of software buttons was that they could change orientation with the device. Other than the power and volume buttons, the Xoom's orientation really wasn't important. The system bar always sat on the "bottom" of the device from the user's perspective. The trade off was that a big bar along the bottom of the screen definitely sucked up some screen real estate. To save space on 10-inch tablets, the status bar was merged into the system bar. All the usual status duties lived on the right side—there was battery and connectivity status, the time, and notification icons. + +The whole layout of the home screen changed, placing UI pieces in each of the four corners of the device. The bottom left housed the previously discussed navigational buttons, the bottom right was for status and notifications, the top left displayed text search and voice search, and the top right had buttons for the app drawer and adding widgets. + +![The new lock screen and Recent Apps interface.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/lockscreen-and-recent.png) +The new lock screen and Recent Apps interface. +Photo by Ron Amadeo + +(Since the Xoom was a [heavy] 10-inch, 16:9 tablet, it was primarily meant to be used horizontally. Most apps also supported portrait mode, though, so for the sake of our formatting, we're using mostly portrait mode shots. Just keep in mind the Honeycomb shots come from a 10-inch tablet, and the Gingerbread shots come from a 3.7-inch phone. The densities of information are not directly comparable.) + +The unlock screen—after switching from a menu button to a rotary dial to slide-to-unlock—removed any required accuracy from the unlock process by switching to a circle unlock. Swiping from the center outward in any direction would unlock the device. Like the rotary unlock, this was much nicer ergonomically than forcing your finger to follow a perfectly straight path. + +The strip of thumbnails in the second picture was the interface brought up by the newly christened "Recent Apps" button, now living next to Back and Home. Rather than the group of icons brought up in Gingerbread by long-pressing on the home button, Honeycomb showed app icons and thumbnails on the screen, which made it a lot easier to switch between tasks. Recent Apps was clearly inspired by Duarte's "card" multitasking in WebOS, which used full-screen thumbnails to switch tasks. This design offered the same ease-of-recognition as WebOS's task switcher, but the smaller thumbnails allowed more apps to fit on screen at once. + +While this implementation of Recent Apps may look like what you get on a current device, this version was very early. The list didn't scroll, meaning it showed seven apps in portrait mode and only five apps in horizontal mode. Anything beyond that was bumped off the list. You also couldn't swipe away thumbnails to close apps—this was just a static list. + +Here we see the Tron influence in full effect: the thumbnails had blue outlines and an eerie glow around them. This screenshot also shows a benefit of software buttons—context. The back button closed the list of thumbnails, so instead of the normal arrow, this pointed down. + +---------- + +![Ron Amadeo](http://cdn.arstechnica.net/wp-content//uploads/authors/ron-amadeo-sq.jpg) + +[Ron Amadeo][a] / Ron is the Reviews Editor at Ars Technica, where he specializes in Android OS and Google products. He is always on the hunt for a new gadget and loves to rip things apart to see how they work. + +[@RonAmadeo][t] + +-------------------------------------------------------------------------------- + +via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/16/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://arstechnica.com/gadgets/2011/03/ars-reviews-the-motorola-xoom/ +[a]:http://arstechnica.com/author/ronamadeo +[t]:https://twitter.com/RonAmadeo \ No newline at end of file diff --git a/sources/talk/The history of Android/17 - The history of Android.md b/sources/talk/The history of Android/17 - The history of Android.md new file mode 100644 index 0000000000..5422877252 --- /dev/null +++ b/sources/talk/The history of Android/17 - The history of Android.md @@ -0,0 +1,86 @@ +The history of Android +================================================================================ +![The Honeycomb app lineup lost a ton of apps. This also shows the notification panel and the new quick settings.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/apps-and-notifications2.png) +The Honeycomb app lineup lost a ton of apps. This also shows the notification panel and the new quick settings. +Photo by Ron Amadeo + +The default app icons were slashed from 32 to 25, and two of those were third-party games. Since Honeycomb was not for phones and Google wanted the default apps to all be tablet-optimized, a lot of apps didn't make the cut. We lost the Amazon MP3 store, Car Home, Facebook, Google Goggles, Messaging, News and Weather, Phone, Twitter, Google Voice, and Voice Dialer. Google was quietly building a music service that would launch soon, so the Amazon MP3 store needed to go anyway. Car Home, Messaging, and Phone made little sense on a non-phone device, Facebook and Twitter still don't have tablet Android apps, and Goggles, News and Weather, and Voice Dialer were barely supported applications that most people wouldn't miss. + +Almost every app icon was new. Just like the switch from the G1 to the Motorola Droid, the biggest impetus for change was probably the bump in resolution. The Nexus S had an 800×480 display, and Gingerbread came with art assets to match. The Xoom used a whopping 1280×800 10-inch display, which meant nearly every piece of art had to go. But again, this time a real designer was in charge, and things were a lot more cohesive. Honeycomb marked the switch from a vertically scrolling app drawer to paginated horizontal drawer. This change made sense on a horizontal device, but on phones it was still much faster to navigate the app drawer with a flingable, vertical list. + +The second Honeycomb screenshot shows the new notification panel. The gray and black Gingerbread design was tossed for another straight-black panel that gave off a blue glow. At the top was a block showing the time, date, connection status, battery, and a shortcut to the notification quick settings, and below that were the actual notifications. Non-permanent notifications could now be dismissed by tapping on an "X" on the right side of the notification. Honeycomb was the first version to enable controls within a notification. The first (and at the launch of Honeycomb, only) app to take advantage of this was the new Google Music app, which placed previous, play/pause, and next buttons in its notification. These new controls could be accessed from any app and made controlling music a breeze. + +!["Add to home screen" was given a zoomed-out interface for easy organizing. The search interface split auto suggest and universal search into different panes.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/widgetkeyboard.png) +"Add to home screen" was given a zoomed-out interface for easy organizing. The search interface split auto suggest and universal search into different panes. +Photo by Ron Amadeo + +Pressing the plus button in the top right corner of the home screen or long pressing on the background would open the new home screen configuration interface. Honeycomb showed a zoomed-out view of all the home screens along the top of the screen, and it filled the bottom half of the screen with a tabbed drawer containing widgets and shortcuts. Items could be dragged out of the bottom drawer and into any of the five home screens. Gingerbread would just show a list of text, but Honeycomb showed full thumbnail previews of the widgets. This gave you a much better idea of what a widget would look like instead of an app-name-only description like "calendar." + +The larger screen of the Motorola Xoom allowed the keyboard to take on a more PC-style layout, with keys like backspace, enter, shift, and tab put in the traditional locations. The keyboard took on a blueish tint and gained even more spacing between the keys. Google also added a dedicated smiley-face button. :-) + +![Gmail on Honeycomb versus Gmail on Gingerbread with the menu open. Buttons were placed on the main screen for easier discovery.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/thebasics.png) +Gmail on Honeycomb versus Gmail on Gingerbread with the menu open. Buttons were placed on the main screen for easier discovery. +Photo by Ron Amadeo + +Gmail demonstrated all the new UI concepts in Honeycomb. Android 3.0 did away with hiding all the controls behind a menu button. There was now a strip of icons along the top of the screen called the Action Bar, which lifted many useful controls to the main screen where users could see them. Gmail showed buttons for search, compose, and refresh, and it put less useful controls like settings, help, and feedback in a dropdown called the "overflow" button. Tapping checkboxes or selecting text would cause the entire action bar to change to icons relating to those actions—for instance, selecting text would bring up cut, copy, and select all buttons. + +The app icon displayed in the top left corner doubled as a navigation button called "Up." While "Back" worked similarly to a browser back button, navigating to previously visited screens, "Up" would navigate up the app hierarchy. For instance, if you were in the Android Market, pressed the "Email developer" button, and Gmail opened, "Back" would take you back to the Android Market, but "Up" would take you to the Gmail inbox. "Back" might close the current app, but "Up" never would. Apps could control the "Back" button, and they usually reprogrammed it to replicate the "Up" functionality. In practice, there was rarely a difference between the two buttons. + +Honeycomb also introduced the "Fragments" API, which allowed developers to use a single app for tablets and phones. A "Fragment" was a single pane of a user interface. In the Gmail picture above, the left folder list was one fragment and the inbox was another fragment. Phones would show one fragment per screen, and tablets could show two side-by-side. The developer defined the look of individual fragments, and Android would decide how they should be displayed based on the current device. + +![The calculator finally used regular Android buttons, but someone spilled blue ink on the calendar.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/calculendar.png) +The calculator finally used regular Android buttons, but someone spilled blue ink on the calendar. +Photo by Ron Amadeo + +For the first time in Android's history, the calculator got a makeover with non-custom buttons, so it actually looked like part of the OS. The bigger screen made room for more buttons, enough that all the calculator functionality could fit on one screen. The calendar greatly benefited from the extra space, gaining much more room for appointment text and controls. The action bar at the top of the screen held buttons to switch views, along with showing the current time span and common controls. Appointment blocks switched to a white background with the calendar corner only showing in the top right corner. At the bottom (or side, in horizontal view) were boxes showing the month calendar and a list of displayed calendars. + +The scale of the calendar could be adjusted, too. By performing a pinch zoom gesture, portrait week and day views could show between five and 19 hours of appointments on a single screen. The background of the calendar was made up of an uneven blue splotch, which didn't look particularly great and was tossed on later versions. + +![The new camera interface, showing off the live "Negative" effect.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/camera.png) +The new camera interface, showing off the live "Negative" effect. +Photo by Ron Amadeo + +The giant 10-inch Xoom tablet did have a camera, which meant that it also had a camera app. The Tron redesign finally got rid of the old faux-leather look that Google came up with in Android 1.6. The controls were laid out in a circle around the shutter button, bringing to mind the circular controls and dials on a real camera. The Cooliris-derived speech bubble popups were changed to glowing, semi-transparent black boxes. The Honeycomb screenshot shows the new "color effect" functionality, which applied a filter to the viewfinder in real time. Unlike the Gingerbread camera app, this didn't support a portrait orientation—it was limited to landscape only. Taking a portrait picture with a 10-inch tablet doesn't make much sense, but then neither does taking a landscape one. + +![The clock app didn't get quite as much love as other areas. Google just threw it into a tiny box and called it a day.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/clocks.png) +The clock app didn't get quite as much love as other areas. Google just threw it into a tiny box and called it a day. +Photo by Ron Amadeo + +Tons of functionality went out the door when it came time to remake the clock app. The entire "Deskclock" concept was kicked out the door, replaced with a simple large display of the time against a plain black background. The ability to launch other apps and view the weather was gone, as was the ability of the clock app to use your wallpaper. Google sometimes gave up when it came time to design a tablet-sized interface, like here, where it just threw the alarm interface into a tiny, centered dialog box. + +![The Music app finally got the ground-up redesign it has needed forever.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/muzack.png) +The Music app finally got the ground-up redesign it has needed forever. +Photo by Ron Amadeo + +While music received a few minor additions during its life, this was really the first time since Android 0.9 that it received serious attention. The highlight of the redesign was a don't-call-it-coverflow scrolling 3D album art view, called "New and Recent." Instead of the tabs added in Android 2.1, navigation was handled by a Dropbox box in the Action Bar. While "New and Recent" had 3D scrolling album art, "Albums" used a flat grid of albums thumbnails. The other sections had totally different designs, too. "Songs" used a vertically scrolling list of text, and "Playlists," "Genres," and "Artists" used stacked album art. + +In nearly every view, every single item had its own individual menu, usually little arrows in the bottom right corner of an item. For now, these would only show "Play" and "add to Playlist," but this version of Google Music was built for the future. Google was launching a Music service soon, and those individual menus would be needed for things like viewing other content from that artist in the Music Store and managing the cloud storage versus local storage options. + +Just like the Cooliris Gallery in Android 2.1, Google Music would blow up one of your thumbnails and use it as a background. The bottom "Now Playing" bar now displayed the album art, playback controls, and a song progress bar. + +![Some of the new Google Maps was really nice, and some of it was from Android 1.5.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/maps.png) +Some of the new Google Maps was really nice, and some of it was from Android 1.5. +Photo by Ron Amadeo + +Google Maps received another redesign for the big screen. This one would stick around for a while and used a semi-transparent black action bar for all the controls. Search was again the primary function, given the first spot in the action bar, but this time it was an actual search bar you could type in, instead of a search bar-shaped button that launched a completely different interface. Google finally gave up on dedicating screen space to actual zoom buttons, relying on only gestures to control the map view. While the feature has since been ported to all old versions of Maps, Honeycomb was the first version to feature 3D building outlines on the map. Dragging two fingers down on the map would "tilt" the map view and show the sides of the buildings. You could freely rotate and the buildings would adjust, too. + +Not every part of Maps was redesigned. Navigation was untouched from Gingerbread, and some core parts of the interface, like directions, were pulled straight from Android 1.6 and centered in a tiny box. + +---------- + +![Ron Amadeo](http://cdn.arstechnica.net/wp-content//uploads/authors/ron-amadeo-sq.jpg) + +[Ron Amadeo][a] / Ron is the Reviews Editor at Ars Technica, where he specializes in Android OS and Google products. He is always on the hunt for a new gadget and loves to rip things apart to see how they work. + +[@RonAmadeo][t] + +-------------------------------------------------------------------------------- + +via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/17/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[a]:http://arstechnica.com/author/ronamadeo +[t]:https://twitter.com/RonAmadeo \ No newline at end of file diff --git a/sources/talk/The history of Android/18 - The history of Android.md b/sources/talk/The history of Android/18 - The history of Android.md new file mode 100644 index 0000000000..2b795adba1 --- /dev/null +++ b/sources/talk/The history of Android/18 - The history of Android.md @@ -0,0 +1,83 @@ +The history of Android +================================================================================ +![Yet another Android Market redesign dips its toe into the "cards" interface that would become a Google staple.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/play-store.png) +Yet another Android Market redesign dips its toe into the "cards" interface that would become a Google staple. +Photo by Ron Amadeo + +The Android Market released its fourth new design in Android's two-and-a-half years on the market. This new design was hugely important as it came really close to Google's "cards" interface. By displaying Apps or other content in little blocks, Google could seamlessly transition its app design between screens of various sizes with minimal effort. Content could be displayed just like photos in a gallery app—feed the layout renderer a big list of content blocks, enable screen wrapping, and you were done. Bigger screens saw more blocks of content, and smaller screens only saw a few at a time. With the content display out of the way, Google added a "Categories" fragment to the right side and a big featured app carousel at the top. + +While the design was ready for an easily configurable interface, the functionality was not. The original shipping version of the market was locked to a landscape orientation and was Honeycomb-exclusive. + +![The app page and "My Apps" interface.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/device-2014-02-12-190002.png) +The app page and "My Apps" interface. +Photo by Ron Amadeo + +This new market sold not only apps, but brought Books and Movies rentals into the fold as well. Google was selling books since 2010; it was only ever through a Website. The new market unified all of Google's content sales in a single location and brought it one step closer to taking on Apple's iTunes juggernaut, though selling all of these items under the "Android Market" was a bit of a branding snafu, as much of the content didn't require Android to use. + +![The browser did its best to look like Chrome, and Contacts used a two-pane interface.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/browsercontactst.png) +The browser did its best to look like Chrome, and Contacts used a two-pane interface. +Photo by Ron Amadeo + +The new Browser added an honest-to-goodness tabs strip at the top of the interface. While this browser wasn't Chrome, it aped a lot of Chrome's design and features. Besides the pioneering tabs-on-top interface, it added Incognito tabs, which kept no history or autocomplete records. There was also an option to have a Chrome-style new tab page consisting of thumbnails of your most-viewed webpages. + +The new Browser even synced with Chrome. After signing in to the browser, it would download your Chrome bookmarks and automatically sign in to Google Web pages with your account. Bookmarking a page was as easy as tapping on the star icon in the address bar. Just like Google Maps, the browser dumped the zoom buttons and went with all gesture controls. + +The contacts app was finally removed from the phone app and broken out into a standalone app. The previous contacts/dialer hybrid was far too phone-centric for how people use a modern smartphone. Contacts housed information for e-mails, IM, texting, addresses, birthdays, and social networks, so tying it to the phone app makes just as much sense as trying it to Google Maps. With the telephony requirements out of the way, contacts could be simplified to a tab-less list of people. Honeycomb went with a dual pane view showing the full contact list on the left and contacts on the right. This again made use of a Fragments API; a hypothetical phone version of this app could show each panel as a single screen. + +The Honeycomb version of Contacts was the first version to have a quick scroll feature. When grabbing the left scroll bar, you could quickly scroll up and down, and a letter preview showed your current spot in the list. + +![The new YouTube app looked like something out of the Matrix.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/youtubes.png) +The new YouTube app looked like something out of the Matrix. +Photo by Ron Amadeo + +YouTube thankfully dumped the "unique" design Google came up with for 2.3 and gave the video service a cohesive design that looked like it belonged in Android. The main screen was a horizontally scrolling curved wall of video thumbnails that showed a most popular or (when signed in) personalized selection of videos. While Google never brought this design to phones, it could be considered an easily reconfigurable card interface. The action bar shined here as a reconfigurable toolbar. When not signed it, the action bar was filled with a search bar. When you were signed in, search shrank down to a button, and tabs for "Home," "Browse," and "Your Channel" were shown. + +![Honeycomb really liked to drive home that it was a computer interface with blue scaffolding. Movie Studio completes the Tron look with an orange theme.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/other2.png) +Honeycomb really liked to drive home that it was a computer interface with blue scaffolding. Movie Studio completes the Tron look with an orange theme. +Photo by Ron Amadeo + +The lone new app in Honeycomb was "Movie Studio," which was not a self-explanatory app and arrived with no explanations or instructions. As far as we could tell, you could import video clips, cut them up, and add text and scene transitions. Editing video—one of the most time consuming, difficult, and processor-intensive things you can do on a computer—on a tablet felt just a little too ambitious, and Google would completely remove this app in later versions. Our favorite part of Movie Studio was that it really completed the Tron theme. While the rest of the OS used blue highlights, this was all orange. (Movie Studio is an evil program!) + +![Widgets!](http://cdn.arstechnica.net/wp-content/uploads/2014/02/device-2014-02-12-202224.png) +Widgets! +Photo by Ron Amadeo + +Honeycomb brought a new widget framework that allowed for scrolling widgets, and the Gmail, Email, and Calendar widgets were upgraded to support it. YouTube and Books used a new widget that auto-scrolled through cards of content. By flicking up or down on the widget, you could scroll through the cards. We're not sure what the point of being constantly reminded of your book collection was, but it's there if you want it. While all of these widgets worked great on a 10-inch screen, Google never redesigned them for phones, making them practically useless on Android's most popular form factor. All the widgets had massive identifying headers and usually took up half the screen to show only a few items. + +![The scrollable Recent Apps and resizable widgets in Android 3.1.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/31new.jpg) +The scrollable Recent Apps and resizable widgets in Android 3.1. +Photo by Ron Amadeo + +Later versions of Honeycomb would fix many of the early problems 3.0 had. Android 3.1 was released three months after the first version of Honeycomb, and it brought several improvements. Resizable widgets were one of the biggest features added. After long pressing on a widget, a blue outline with grabbable handles would pop up around it, and dragging the handles around would resize the widget. The Recent Apps panel could now scroll vertically and held many more apps. The only feature missing from it at this point was the ability to swipe away apps. + +Today, an 0.1 upgrade is a major release, but in Honeycomb, point releases were considerably smaller. Besides the few UI tweaks, 3.1 added support for gamepads, keyboards, mice, and other input devices over USB and Bluetooth. It also offered a few more developer APIs. + +![Android 3.2's compatibility zoom and a typical stretched-out app on an Android tablet.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/device-2014-02-14-131132.jpg) +Android 3.2's compatibility zoom and a typical stretched-out app on an Android tablet. +Photo by Ron Amadeo + +Android 3.2 launched two months after 3.1, adding support for smaller sized tablets in the seven- to eight-inch range. It finally enabled SD card support, which the Xoom carried like a vestigial limb for the first five months of its life. + +Honeycomb was rushed out the door in order to be an ecosystem builder. No one will want an Android tablet if the tablet-specific apps aren't there, and Google knew it needed to get something in the hands of developers ASAP. At this early stage of Android's tablet ecosystem, the apps just weren't there. It was the biggest problem people had with the Xoom. + +3.2 added "Compatibility Zoom," which gave users a new option of stretching apps to the screen (as shown in the right picture) or zooming the normal app layout to fit the screen. Neither option was ideal, and without the app ecosystem to support it, Honeycomb devices sold pretty poorly. Google's tablet moves would eventually pay off though. Today, Android tablets have [taken the market share crown from iOS][1]. + +---------- + +![Ron Amadeo](http://cdn.arstechnica.net/wp-content//uploads/authors/ron-amadeo-sq.jpg) + +[Ron Amadeo][a] / Ron is the Reviews Editor at Ars Technica, where he specializes in Android OS and Google products. He is always on the hunt for a new gadget and loves to rip things apart to see how they work. + +[@RonAmadeo][t] + +-------------------------------------------------------------------------------- + +via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/18/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://techcrunch.com/2014/03/03/gartner-195m-tablets-sold-in-2013-android-grabs-top-spot-from-ipad-with-62-share/ +[a]:http://arstechnica.com/author/ronamadeo +[t]:https://twitter.com/RonAmadeo \ No newline at end of file diff --git a/sources/talk/The history of Android/19 - The history of Android.md b/sources/talk/The history of Android/19 - The history of Android.md new file mode 100644 index 0000000000..32841f5be9 --- /dev/null +++ b/sources/talk/The history of Android/19 - The history of Android.md @@ -0,0 +1,71 @@ +The history of Android +================================================================================ +![Google Music Beta running on Gingerbread.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/device-2014-03-31-110613.png) +Google Music Beta running on Gingerbread. +Photo by Ron Amadeo + +### Google Music Beta—cloud storage in lieu of a content store ### + +While Honeycomb revamped the Google Music interface, the Music app didn't go directly from the Honeycomb design to Ice Cream Sandwich. In May 2011, Google launched "[Google Music Beta][1]," an online music locker that came along with a new Google Music app. + +The new Google Music app for 2.2 and up took a few design cues from the Cooliris Gallery, of all things, going with a changing, blurry image for the background. Just about everything was transparent: the pop-up menus, the tabs at the top, and the now-playing bar at the bottom. Individual songs or entire playlists could be downloaded to the device for offline playback, making Google Music an easy way to make sure your music was on all your devices. Besides the mobile app, there was also a Webapp, which allowed Google Music to work on any desktop computer. + +Google didn't have content deals in place with the record companies to start a music store yet, so its stop-gap solution was to allow users to store songs online and stream them to a device. Today, Google has content deals for individual song purchases and all-you-can-eat subscription modes, along with the music locker service. + +### Android 4.0, Ice Cream Sandwich—the modern era ### + +![The Samsung Galaxy Nexus, Android 4.0's launch device.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/samsung-i9250-galaxy-nexus-51.jpg) +The Samsung Galaxy Nexus, Android 4.0's launch device. + +Released in October 2011, Android 4.0, Ice Cream Sandwich, got the OS back on track with a release spanning phones and tablets, and it was once again open source. It was the first update to come to phones since Gingerbread, which meant the majority of Android's user base went almost a year without seeing an update. 4.0 was all about shrinking the Honeycomb design to smaller devices, bringing on-screen buttons, the action bar, and the new design language to phones. + +Ice Cream Sandwich debuted on the Samsung Galaxy Nexus, one of the first Android phones with a 720p screen. Along with the higher resolution, the Galaxy Nexus pushed phones to even larger sizes with a 4.65-inch screen—almost a full inch larger than the original Nexus One. This was called "too big" by many critics, but today many Android phones are even bigger. (Five inches is "normal" now.) Ice Cream Sandwich required a lot more power than Gingerbread did, and the Galaxy Nexus delivered with a dual core, 1.2Ghz TI OMAP processor and 1GB of RAM. + +In the US, the Galaxy Nexus debuted on Verizon with an LTE modem. Unlike previous Nexus devices, the most popular model—the Verizon version—was under the control of a carrier, and Google's software and updates had to be approved by Verizon before the phone could be updated. This led to delays in updates and the removal of software Verizon didn't like, namely Google Wallet. + +Thanks to the software improvements in Ice Cream Sandwich, Google finally achieved peak button removal on a phone. With the on-screen navigation buttons, the capacitive buttons could be removed, leaving the Galaxy Nexus with only power and volume buttons. + +![Android 4.0 shrunk down a lot of the Honeycomb design.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/2home.png) +Android 4.0 shrunk down a lot of the Honeycomb design. +Photo by Ron Amadeo + +The Tron aesthetic in Honeycomb was a little much. Immediately in Ice Cream Sandwich, Google started turning down some of the more sci-fi aspects of the design. The sci-fi clock font changed from a folded over semi-transparent thing to a thin, elegant, normal-looking font. The water ripple touch effect on the unlock circle was removed, and the alien Honeycomb clock widget was scrapped in favor of a more minimal design. The system buttons were redesigned, too, changing from blue outlines with the occasional thick side to thin, even, white outlines. The default wallpaper changed from the blue Honeycomb spaceship interior to a streaky, broken rainbow, which added some much-needed color to the default layout. + +The Honeycomb system bar features were split into a two-bar design for phones. At the top was the traditional status bar, and at the bottom was the new system bar, which housed the three system buttons: Back, Home, and Recent. A permanent search bar was added to the top of the home screen. The bar persisted on the screen the same way the dock did, so over the five home screens, it took up 20 icon spots. On the Honeycomb unlock screen, the small inner circle could be moved anywhere outside the larger circle to unlock the device. In Ice Cream Sandwich, you had to actually hit the unlock icon with the inner circle. This new accuracy requirement allowed Google to add another option to the lock screen: a camera shortcut. Dragging the inner circle to the camera icon would directly launch the camera, skipping the home screen. + +![A Phone OS meant a ton more apps, and the notification panel became a full-screen interface again.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/appsandnotic40.png) +A Phone OS meant a ton more apps, and the notification panel became a full-screen interface again. +Photo by Ron Amadeo + +The App drawer was still tabbed, but the "My Apps" tab from Honeycomb was replaced with "Widgets," which was a simple 2×3 thumbnail view of widgets. Like Honeycomb, this app drawer was paginated and had to be swiped through horizontally. (Android still uses this app drawer design today.) New in the app drawer was an Android Google+ app, which existed separately for some time. Along with it came a shortcut to "Messenger," the Google+ private messaging service. ("Messenger" is not to be confused with "Messaging," the stock SMS app.) + +Since we're back to a phone now, Messaging, News and Weather, Phone, and Voice Dialer returned, and Cordy, a tablet game, was removed. Our screenshots are from the Verizon variant, which, despite being a Nexus device, was sullied by crapware like "My Verizon Mobile," and "VZ Backup Assistant." In keeping with the de-Tronification theme of Ice Cream Sandwich, the Calendar and Camera icons now looked more like something from Planet Earth rather than alien artifacts. Clock, Downloads, Phone, and Android Market got new icons, too, and "Contacts" got a new icon and a new name, becoming "People." + +The Notification panel got a big overhaul, especially when compared to the [previous Gingerbread design][2]. There was now a top header featuring the date, a settings shortcut, and a "clear all." While first Honeycomb allowed users to dismiss individual notifications by tapping on an "X" in the notification, Ice Cream Sandwich's implementation was much more elegant: just swipe the individual notifications to the left or right and they cleared. Honeycomb had blue highlights, but the blue tone was all over the place. Ice Cream Sandwich unified almost everything to a single blue (hex code #33B5E5, if you want to get specific). The background of the notification panel was made transparent, and the "handle" at the bottom changed to a minimal blue circle with an opaque black background. + +![The main page of the Android Market changed back to black.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/market.png) +The main page of the Android Market changed back to black. +Photo by Ron Amadeo + +The Market got yet another redesign. It finally supported portrait mode again and added Music to the lineup of content you can buy in the store. The new Market extended the cards concept that debuted in Honeycomb and was the first version to use the same application on tablets and phones. The cards on the main page usually didn't link to apps, instead pointing to special promotional pages like "staff picks" or seasonal promotions. + +---------- + +![Ron Amadeo](http://cdn.arstechnica.net/wp-content//uploads/authors/ron-amadeo-sq.jpg) + +[Ron Amadeo][a] / Ron is the Reviews Editor at Ars Technica, where he specializes in Android OS and Google products. He is always on the hunt for a new gadget and loves to rip things apart to see how they work. + +[@RonAmadeo][t] + +-------------------------------------------------------------------------------- + +via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/19/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://arstechnica.com/gadgets/2011/05/hands-on-grooving-on-the-go-with-impressive-google-music-beta/ +[2]:http://cdn.arstechnica.net/wp-content/uploads/2014/02/32.png +[a]:http://arstechnica.com/author/ronamadeo +[t]:https://twitter.com/RonAmadeo \ No newline at end of file diff --git a/sources/talk/The history of Android/20 - The history of Android.md b/sources/talk/The history of Android/20 - The history of Android.md new file mode 100644 index 0000000000..30db4ce5c2 --- /dev/null +++ b/sources/talk/The history of Android/20 - The history of Android.md @@ -0,0 +1,93 @@ +The history of Android +================================================================================ +![Another Market design that was nothing like the old one. This lineup shows the categories page, featured, a top apps list, and an app page.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/market-pages.png) +Another Market design that was nothing like the old one. This lineup shows the categories page, featured, a top apps list, and an app page. +Photo by Ron Amadeo + +These screenshots give us our first look at the refined version of the Action Bar in Ice Cream Sandwich. Almost every app got a bar at the top of the screen that housed the app icon, title of the screen, several function buttons, and a menu button on the right. The right-aligned menu button was called the "overflow" button, because it housed items that didn't fit on the main action bar. The overflow menu wasn't static, though, it gave the action bar more screen real-estate—like in horizontal mode or on a tablet—and more of the overflow menu items were shown on the action bar as actual buttons. + +New in Ice Cream Sandwich was this design style of "swipe tabs," which replaced the 2×3 interstitial navigation screen Google was previously pushing. A tab bar sat just under the Action Bar, with the center title showing the current tab and the left and right having labels for the pages to the left and right of this screen. A swipe in either direction would change tabs, or you could tap on a title to go to that tab. + +One really cool design touch on the individual app screen was that, after the pictures, it would dynamically rearrange the page based on your history with that app. If you never installed the app before, the description would be the first box. If you used the app before, the first section would be the reviews bar, which would either invite you to review the app or remind you what you thought of the app last time you installed it. The second section for a previously used app was “What’s New," since an existing user would most likely be interested in changes. + +![Recent apps and the browser were just like Honeycomb, but smaller.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/recentbrowser.png) +Recent apps and the browser were just like Honeycomb, but smaller. +Photo by Ron Amadeo + +Recent apps toned the Tron look way down. The blue outline around the thumbnails was removed, along with the eerie, uneven blue glow in the background. It now looked like a neutral UI piece that would be at home in any time period. + +The Browser did its best to bring a tabbed experience to phones. Multi-tab browsing was placed front and center, but instead of wasting precious screen space on a tab strip, a tab button would open a Recent Apps-like interface that would show you your open tabs. Functionally, there wasn't much difference between this and the "window" view that was present in past versions of the Browser. The best addition to the Browser was a "Request desktop site" menu item, which would switch from the default mobile view to the normal site. The Browser showed off the flexibility of Google's Action Bar design, which, despite not having a top-left app icon, still functioned like any other top bar design. + +![Gmail and Google Talk—they're like Honeycomb, but smaller!](http://cdn.arstechnica.net/wp-content/uploads/2014/03/gmail2.png) +Gmail and Google Talk—they're like Honeycomb, but smaller! +Photo by Ron Amadeo + +Gmail and Google Talk both looked like smaller versions of their Honeycomb designs, but with a few tweaks to work better on smaller screens. Gmail featured a dual Action Bar—one on the top of the screen and one on the bottom. The top of the bar showed your current folder, account, and number of unread messages, and tapping on the bar opened a navigation menu. The bottom featured all the normal buttons you would expect along with the overflow button. This dual layout was used in order display more buttons on the surface level, but in landscape mode where vertical space was at a premium, the dual bars merged into a single top bar. + +In the message view, the blue bar was "sticky" when you scrolled down. It stuck to the top of the screen, so you could always see who wrote the current message, reply, or star it. Once in a message, the thin, dark gray bar at the bottom showed your current spot in the inbox (or whatever list brought you here), and you could swipe left and right to get to other messages. + +Google Talk would let you swipe left and right to change chat windows, just like Gmail, but there the bar was at the top. + +![The new dialer and the incoming call screen, both of which we haven't seen since Gingerbread.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/inc-calls.png) +The new dialer and the incoming call screen, both of which we haven't seen since Gingerbread. +Photo by Ron Amadeo + +Since Honeycomb was only for tablets, some UI pieces were directly preceded by Gingerbread instead. The new Ice Cream Sandwich dialer was, of course, black and blue, and it used smaller tabs that could be swiped through. While Ice Cream Sandwich finally did the sensible thing and separated the main phone and contacts interfaces, the phone app still had its own contacts tab. There were now two spots to view your contact list—one with a dark theme and one with a light theme. With a hardware search button no longer being a requirement, the bottom row of buttons had the voicemail shortcut swapped out for a search icon. + +Google liked to have the incoming call interface mirror the lock screen, which meant Ice Cream Sandwich got a circle-unlock design. Besides the usual decline or accept options, a new button was added to the top of the circle, which would let you decline a call by sending a pre-defined text message to the caller. Swiping up and picking a message like "Can't talk now, call you later" was (and still is) much more informative than an endlessly ringing phone. + +![Honeycomb didn't have folders or a texting app, so here's Ice Cream Sandwich versus Gingerbread.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/thenonmessedupversion.png) +Honeycomb didn't have folders or a texting app, so here's Ice Cream Sandwich versus Gingerbread. +Photo by Ron Amadeo + +Folders were now much easier to make. In Gingerbread, you had to long press on the screen, pick "folders," and then pick "new folder." In Ice Cream Sandwich, just drag one icon on top of another, and a folder is created containing those two icons. It was dead simple and much easier than finding the hidden long-press command. + +The design was much improved, too. Gingerbread used a generic beige folder icon, but Ice Cream Sandwich actually showed you what was in the folder by stacking the first three icons on top of each other, drawing a circle around them, and using that as the folder icon. Open folder containers resized to fit the amount of icons in the folder rather than being a full-screen, mostly empty box. It looked way, way better. + +![YouTube switched to a more modern white theme and used a list view instead of the crazy 3D scrolling](http://cdn.arstechnica.net/wp-content/uploads/2014/03/youtubes.png) +YouTube switched to a more modern white theme and used a list view instead of the crazy 3D scrolling +Photo by Ron Amadeo + +YouTube was completely redesigned and looked less like something from The Matrix and more like, well, YouTube. It was a simple white list of vertically scrolling videos, just like the website. Making videos on your phone was given prime real estate, with the first button on the action bar dedicated to recording a video. Strangely, different screens used different YouTube logos in the top left, switching between a horizontal YouTube logo and a square one. + +YouTube used swipe tabs just about everywhere. They were placed on the main page to browse and view your account and on the video pages to switch between comments, info, and related videos. The 4.0 app showed the first signs of Google+ YouTube integration, placing a "+1" icon next to the traditional rating buttons. Eventually Google+ would completely take over YouTube, turning the comments and author pages into Google+ activity. + +![Ice Cream Sandwich tried to make things easier on everyone. Here is a screen for tracking data usage, the new developer options with tons of analytics enabled, and the intro tutorial.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/data.png) +Ice Cream Sandwich tried to make things easier on everyone. Here is a screen for tracking data usage, the new developer options with tons of analytics enabled, and the intro tutorial. +Photo by Ron Amadeo + +Data Usage allowed users to easily keep track of and control their data usage. The main page showed a graph of this month's data usage, and users could set thresholds to be warned about data consumption or even set a hard usage limit to avoid overage charges. All of this was done easily by dragging the horizontal orange and red threshold lines higher or lower on the chart. The vertical white bars allowed users to select a slice of time in the graph. At the bottom of the page, the data usage for the selected time was broken down by app, so users could select a spike and easily see what app was sucking up all their data. When times got really tough, in the overflow button was an option to restrict all background data. Then, only apps running in the foreground could have access to the Internet connection. + +The Developer Options typically only housed a tiny handful of settings, but in Ice Cream Sandwich the section received a huge expansion. Google added all sorts of on-screen diagnostic overlays to help app developers understand what was happening inside their app. You could view CPU usage, pointer location, and view screen updates. There were also options to change the way the system functioned, like control over animation speed, background processing, and GPU rendering. + +One of the biggest differences between Android and the iOS is Android's app drawer interface. In Ice Cream Sandwich's quest to be more user-friendly, the initial startup launched a small tutorial showing users where the app drawer was and how to drag icons out of the drawer and onto the homescreen. With the removal of the off-screen menu button and changes like this, Android 4.0 made a big push to be more inviting to new smartphone users and switchers. + +![The "touch to beam" NFC support, Google Earth, and App Info, which would let you disable crapware.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/2014-03-06-03.57.png) +The "touch to beam" NFC support, Google Earth, and App Info, which would let you disable crapware. + +Built into Ice Cream Sandwich was full support for [NFC][1]. While previous devices like the Nexus S had NFC, support was limited and the OS couldn't do much with the chip. 4.0 added a feature called Android Beam, which would let two NFC-equipped Android 4.0 devices transfer data back and forth. NFC would transmit data related to whatever was on the screen at the time, so tapping when a phone displayed a webpage would send that page to the other phone. You could also send contact information, directions, and YouTube links. When the two phones were put together, the screen zoomed out, and tapping on the zoomed-out display would send the information. + +In Android, users are not allowed to uninstall system apps, which are often integral to the function of the device. Carriers and OEMs took advantage of this and started putting crapware in the system partition, which they would often stick with software they didn't want. Android 4.0 allowed users to disable any app that couldn't be uninstalled, meaning the app remained on the system but didn't show up in the app drawer and couldn't be run. If users were willing to dig through the settings, this gave them an easy way to take control of their phone. + +Android 4.0 can be thought of as the start of the modern Android era. Most of the Google apps released around this time only worked on Android 4.0 and above. There were so many new APIs that Google wanted to take advantage of that—initially at least—support for versions below 4.0 was limited. After Ice Cream Sandwich and Honeycomb, Google was really starting to get serious about software design. In January 2012, the company [finally launched][2] *Android Design*, a design guideline site that taught Android app developers how to create apps to match the look and feel of Android. This was something iOS not only had from the start of third-party app support, but Apple enforced design so seriously that apps that did not meet the guidelines were blocked from the App Store. The fact that Android went three years without any kind of public design documents from Google shows just how bad things used to be. But with Duarte in charge of Android's design revolution, the company was finally addressing basic design needs. + +---------- + +![Ron Amadeo](http://cdn.arstechnica.net/wp-content//uploads/authors/ron-amadeo-sq.jpg) + +[Ron Amadeo][a] / Ron is the Reviews Editor at Ars Technica, where he specializes in Android OS and Google products. He is always on the hunt for a new gadget and loves to rip things apart to see how they work. + +[@RonAmadeo][t] + +-------------------------------------------------------------------------------- + +via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/20/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://arstechnica.com/gadgets/2011/02/near-field-communications-a-technology-primer/ +[2]:http://arstechnica.com/business/2012/01/google-launches-style-guide-for-android-developers/ +[a]:http://arstechnica.com/author/ronamadeo +[t]:https://twitter.com/RonAmadeo \ No newline at end of file diff --git a/sources/talk/The history of Android/21 - The history of Android.md b/sources/talk/The history of Android/21 - The history of Android.md new file mode 100644 index 0000000000..265e7a867b --- /dev/null +++ b/sources/talk/The history of Android/21 - The history of Android.md @@ -0,0 +1,103 @@ +The history of Android +================================================================================ +![](http://cdn.arstechnica.net/wp-content/uploads/2014/03/playicons2.png) +Photo by Ron Amadeo + +### Google Play and the return of direct-to-consumer device sales ### + +On March 6, 2012, Google unified all of its content offerings under the banner of "Google Play." The Android Market became the Google Play Store, Google Books became Google Play Books, Google Music became Google Play Music, and Android Market Movies became Google Play Movies & TV. While the app interfaces didn't change much, all four content apps got new names and icons. Content purchased in the Play Store would be downloaded to the appropriate app, and the Play Store and Play content apps all worked together to provide a fairly organized content experience. + +The Google Play update was Google's first big out-of-cycle update. Four packed-in apps were all changed without having to issue a system update—they were all updated through the Android Market/Play Store. Enabling out-of-cycle updates to individual apps was a big focus for Google, and being able to do an update like this was the culmination of an engineering effort that started in the Gingerbread era. Google had been working on "decoupling" the apps from the operating system and making everything portable enough to be distributed through the Android Market/Play Store. + +While one or two apps (mostly Maps and Gmail) had previously lived on the Android Market, from here on you'll see a lot more significant updates that have nothing to do with an operating system release. System updates require the cooperation of OEMs and carriers, so they are difficult to push out to every user. Play Store updates are completely controlled by Google, though, providing the company a direct line to users' devices. For the launch of Google Play, the Android Market updated itself to the Google Play Store, and from there, Books, Music, and Movies were all issued Google Play-flavored updates. + +The design of the Google Play apps was still all over the place. Each app looked and functioned differently, but for now, a cohesive brand was a good start. And removing "Android" from the branding was necessary because many services were available in the browser and could be used without touching an Android device at all. + +In April 2012, Google started [selling devices though the Play Store again][1], reviving the direct-to-customer model it had experimented with for the launch of the Nexus One. While it was only two years after ending the Nexus One sales, Internet shopping was now more common place, and buying something before you could hold it didn't seem as crazy as it did in 2010. + +Google also saw how price-conscious consumers became when faced with the Nexus One's $530 price tag. The first device for sale was an unlocked, GSM version of the Galaxy Nexus for $399. From there, price would go even lower. $350 has been the entry-level price for the last two Nexus smartphones, and 7-inch Nexus tablets would come in at only $200 to $220. + +Today, the Play Store sells eight different Android devices, four Chromebooks, a thermostat, and tons of accessories, and the device store is the de-facto location for a new Google product launch. New phone launches are so popular, the site usually breaks under the load, and new Nexus phones sell out in a few hours. + +### Android 4.1, Jelly Bean—Google Now points toward the future ### + +![The Asus-made Nexus 7, Android 4.1's launch device.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/ASUS_Google_Nexus_7_4_11.jpg) +The Asus-made Nexus 7, Android 4.1's launch device. + +With the release of Android 4.1, Jelly Bean in July 2012, Google settled into an Android release cadence of about every six months. The platform matured to the point where a release every three months was unnecessary, and the slower release cycle gave OEMs a chance to catch their breath. Unlike Honeycomb, point releases were now fairly major updates, with 4.1 bringing major UI and framework changes. + +One of the biggest changes in Jelly Bean that you won't be able to see in screenshots is "Project Butter," the name for a concerted effort by Google's engineers to make Android animations run smoothly at 30FPS. Core changes were made, like Vsync and triple buffering, and individual animations were optimized so they could be drawn smoothly. Animation and scrolling smoothness had always been a weak point of Android when compared to iOS. After some work on both the core animation framework and on individual apps, Jelly Bean brought Android a lot closer to iOS' smoothness. + +Along with Jelly Bean came the [Nexus][2] 7, a 7-inch tablet manufactured by Asus. Unlike the primarily horizontal Xoom, the Nexus 7 was meant to be used in portrait mode, like a large phone. The Nexus 7 showed that, after almost a year-and-a-half of ecosystem building, Google was ready to commit to the tablet market with a flagship device. Like the Nexus One and GSM Galaxy Nexus, the Nexus 7 was sold online directly by Google. While those earlier devices had shockingly high prices for consumers that were used to carrier subsidies, the Nexus 7 hit a mass market price point of only $200. The price bought you a device with a 7-inch, 1280x800 display, a quad core, 1.2 GHz Tegra 3 processor, 1GB of RAM, and 8GB of storage. The Nexus 7 was such a good value that many wondered if Google was making any money at all on its flagship tablet. + +This smaller, lighter, 7-inch form factor would be a huge success for Google, and it put the company in the rare position of being an industry trendsetter. Apple, which started with a 10-inch iPad, was eventually forced to answer the Nexus 7 and tablets like it with the iPad Mini. + +![4.1's new lock screen design, wallpaper, and the new on-press highlight on the system buttons.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/picture.png) +4.1's new lock screen design, wallpaper, and the new on-press highlight on the system buttons. +Photo by Ron Amadeo + +The Tron look introduced in Honeycomb was toned down a little in Ice Cream Sandwich, and Jelly Bean took things a step further. It started removing blue from large chunks of the operating system. The hint was the on-press highlights on the system buttons, which changed from blue to gray. + +![A composite image of the new app lineup and the new notification panel with expandable notifications.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/jb-apps-and-notications.png) +A composite image of the new app lineup and the new notification panel with expandable notifications. +Photo by Ron Amadeo + +The Notification panel was completely revamped, and we've finally arrived at the design used today in KitKat. The new panel extended to the top of the screen and covered the usual status icons, meaning the status bar was no longer visible when the panel was open. The time was prominently displayed in the top left corner, along with the date and a settings shortcut. The clear all notions button, which was represented by an "X" in Ice Cream Sandwich, changed to a stairstep icon, symbolizing the staggered sliding animation that cleared the notification panel. The bottom handle changed from a circle to a single line that ran the length of the notification panel. All the typography was changed—the notification panel now used bigger, thinner fonts for everything. This was another screen where the blue introduced in Ice Cream Sandwich and Honeycomb was removed. The notification panel was entirely gray now except for on-touch highlights. + +There was new functionality in the panel, too. Notifications were now expandable and could show much more information than the previous two-line design. It now showed up to eight lines of text and could even show buttons at the bottom of the notification. The screenshot notification had a share button at the bottom, and you could call directly from a missed call notification, or you could snooze a ringing alarm all from the notification panel. New notifications were expanded by default, but as they piled up they would collapse back to the traditional size. Dragging down on a notification with two fingers would expand it. + +![The new Google Search app, with Google Now cards, voice search, and text search.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/googlenow.png) +The new Google Search app, with Google Now cards, voice search, and text search. +Photo by Ron Amadeo + +The biggest feature addition to Jelly Bean for not only Android, but for Google as a whole, was the new version of the Google Search application. This introduced "Google Now," a predictive search feature. Google Now was displayed as several cards that sit below the search box, and it would offer results to searches Google thinks you care about. These were things like Google Maps searches for places you've recently looked at on your desktop computer or calendar appointment locations, the weather, and time at home while traveling. + +The new Google Search app could, of course, be launched with the Google icon, but it could also be accessed from any screen with a swipe up from the system bar. Long pressing on the system bar brought up a ring that worked similarly to the lock screen ring. The card section scrolled vertically, and cards could be a swipe away if you didn't want to see them. Voice Search was a big part of the updates. Questions weren't just blindly entered into Google; if Google knew the answer, it would also talk back using a text-To-Speech engine. And old-school text searches were, of course, still supported. Just tap on the bar and start typing. + +Google frequently called Google Now "the future of Google Search." Telling Google what you wanted wasn't good enough. Google wanted to know what you wanted before you did. Google Now put all of Google's data mining knowledge about you to work for you, and it was the company's biggest advantage against rival search services like Bing. Smartphones knew more about you than any other device you own, so the service debuted on Android. But Google slowly worked Google Now into Chrome, and eventually it will likely end up on Google.com. + +While the functionality was important, it became clear that Google Now was the most important design work to ever come out of the company, too. The white card aesthetic that this app introduced would become the foundation for Google's design of just about everything. Today, this card style is used in the Google Play Store and in all of the Play content apps, YouTube, Google Maps, Drive, Keep, Gmail, Google+, and many others. It's not just Android apps, either. Many of Google's desktop sites and iOS apps are inspired by this design. Design was historically one of Google's weak areas, but Google Now was the point where the company finally got its act together with a cohesive, company-wide design language. + +![Yet another YouTube redesign. Information density went way down.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/yotuube.png) +Yet another YouTube redesign. Information density went way down. +Photo by Ron Amadeo + +Another version, another YouTube redesign. This time the list view was primarily thumbnail-based, with giant images taking up most of the screen real estate. Information density tanked with the new list design. Before YouTube would display around six items per screen, now it could only display three. + +YouTube was one of the first apps to add a sliding drawer to the left side of an app, a feature which would become a standard design style across Google's apps. The drawer has links for your account and channel subscriptions, which allowed Google to kill the tabs-on-top design. + +![Google Play Service's responsibilities versus the rest of Android.](http://cdn.arstechnica.net/wp-content/uploads/2013/08/playservicesdiagram2.png) +Google Play Service's responsibilities versus the rest of Android. +Photo by Ron Amadeo + +### Google Play Services—fragmentation and making OS versions (nearly) obsolete ### + +It didn't seem like a big deal at the time, but in September 2012, Google Play Services 1.0 was automatically pushed out to every Android phone running 2.2 and up. It added a few Google+ APIs and support for OAuth 2.0. + +While this update might sound boring, Google Play Services would eventually grow to become an integral part of Android. Google Play Services acts as a shim between the normal apps and the installed Android OS, allowing Google to update or replace some core components and add APIs without having to ship out a new Android version. + +With Play Services, Google had a direct line to the core of an Android phone without having to go through OEM updates and carrier approval processes. Google used Play Services to add an entirely new location system, a malware scanner, remote wipe capabilities, and new Google Maps APIs, all without shipping an OS update. Like we mentioned at the end of the Gingerbread section, thanks to all the "portable" APIs implemented in Play Services, Gingerbread can still download a modern version of the Play Store and many other Google Apps. + +The other big benefit was compatibility with Android's user base. The newest release of an Android OS can take a very long time to get out to the majority of users, which means APIs that get tied to the latest version of the OS won't be any good to developers until the majority of the user base upgrades. Google Play Services is compatible with Froyo and above, which is 99 percent of active devices, and the updates pushed directly to phones through the Play Store. By including APIs in Google Play Services instead of Android, Google can push a new API out to almost all users in about a week. It's [a great solution][3] to many of the problems caused by version fragmentation. + +---------- + +![Ron Amadeo](http://cdn.arstechnica.net/wp-content//uploads/authors/ron-amadeo-sq.jpg) + +[Ron Amadeo][a] / Ron is the Reviews Editor at Ars Technica, where he specializes in Android OS and Google products. He is always on the hunt for a new gadget and loves to rip things apart to see how they work. + +[@RonAmadeo][t] + +-------------------------------------------------------------------------------- + +via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/21/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://arstechnica.com/gadgets/2012/04/unlocked-samsung-galaxy-nexus-can-now-be-purchased-from-google/ +[2]:http://arstechnica.com/gadgets/2012/07/divine-intervention-googles-nexus-7-is-a-fantastic-200-tablet/ +[3]:http://arstechnica.com/gadgets/2013/09/balky-carriers-and-slow-oems-step-aside-google-is-defragging-android/ +[a]:http://arstechnica.com/author/ronamadeo +[t]:https://twitter.com/RonAmadeo \ No newline at end of file diff --git a/sources/talk/The history of Android/22 - The history of Android.md b/sources/talk/The history of Android/22 - The history of Android.md new file mode 100644 index 0000000000..79cf7bd2a5 --- /dev/null +++ b/sources/talk/The history of Android/22 - The history of Android.md @@ -0,0 +1,84 @@ +The history of Android +================================================================================ +### Android 4.2, Jelly Bean—new Nexus devices, new tablet interface ### + +The Android Platform was rapidly maturing, and with Google hosting more and more apps in the Play Store, there was less and less that needed to go out in the OS update. Still, the relentless march of updates must continue, and in November 2012 Android 4.2 was released. 4.2 was still called "Jelly Bean," a nod to the relatively small amount of changes that were present in this release. + +![The LG-made Nexus 4 and Samsung-made Nexus 10.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/unnamed.jpg) +The LG-made Nexus 4 and Samsung-made Nexus 10. +Photo by Google/Ron Amadeo + +Along with Android 4.2 came two flagship devices, the Nexus 4 and the Nexus 10, both of which were sold direct by Google on the Play Store. The Nexus 4 applied the Nexus 7 strategy of a quality device at a shockingly low price and sold for $300 unlocked. The Nexus 4 had a quad-core 1.5 GHz Snapdragon S4 Pro, 2GB of RAM and a 4.7-inch 1280×768 LCD. Google's new flagship phone was manufactured by LG, and with the manufacturer switch came a focus on materials and build quality. The Nexus 4 had a glass front and back, and while you couldn't drop it, it was one of the nicest-feeling Android phones to date. The biggest downside to the Nexus 4 was the lack of LTE at a time when most phones, including the Verizon Galaxy Nexus, came with the faster modem. Still, demand for the Nexus 4 greatly exceeded Google's expectations—the launch rush crashed the Play Store Web site on launch day. The device sold out in under an hour. + +The Nexus 10 was Google's first 10-inch Nexus tablet. The highlight of the device was the 2560×1600 display, which was the highest resolution in its class. All those pixels were powered by a dual core, 1.7GHz Cortex A15 processor and 2GB of RAM. With each passing month, it's looking more and more like the Nexus 10 is the first and last 10-inch Nexus tablet. Usually these devices are upgraded every year, but the Nexus 10 is now 16 months old, and there's no sign of the new model on the horizon. Google is doing well with smaller-sized 7-inch tablets, and it seems content to let partners [like Samsung][1] explore the larger end of the tablet spectrum. + +![The new lock screen, wallpaper, and clock widget design.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/JBvsjb.jpg) +The new lock screen, wallpaper, and clock widget design. +Photo by Ron Amadeo + +4.2 brought lots of changes to the lock screen. The font was centered and used an extremely thick weight for the hour and a thin font for the minutes. The lock screen was now paginated and could be customized with widgets. Rather than a simple clock on the lock screen, users could replace it with another widget or add extra pages to the lock screen for more widgets. + +![The lock screen's add widget page, the list of widgets, the Gmail widget on the lock screen, and swiping over to the camera.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/locksc2reen.jpg) +The lock screen's add widget page, the list of widgets, the Gmail widget on the lock screen, and swiping over to the camera. +Photo by Ron Amadeo + +The lock screen now worked like a stripped-down version of the home screen. Page outlines would pop up on the left and right sides of the lock screen to hint to users that they could swipe to other pages with other widgets. Swiping to the left would show a simple blank page with a plus sign in the center, and tapping on it would bring up a list of widgets that were compatible with the lock screen. Lock screens were limited to one widget per page and could be expanded or collapsed by dragging up or down on the widget. The right-most page was reserved for the camera—a simple over would open the camera interface, but you weren't able to swipe back. + +![The new Quick Settings panel and a composite image of the app lineup.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/42fix.png) +The new Quick Settings panel and a composite image of the app lineup. +Photo by Ron Amadeo + +One of the biggest additions to 4.2 was the new "Quick Settings" panel. Android 3.0 brought a way to quickly change power settings to tablets, and 4.2 finally brought that ability to phones. A new icon was added to the top right corner of the notification panel that would switch between the normal list of notifications and the new quick settings screen. Quick Settings offered faster access to screen brightness, network connections, and battery and data usage without having to dig through the full settings screen. The top level settings button in Android 4.1 was removed, and a square was added to the Quick Settings screen for it. + +There were lots of changes to the app drawer and 4.2's lineup of apps and icons. Thanks to the wider aspect ratio of the Nexus 4 (5:3 vs 16:9 on the Galaxy Nexus), the app drawer on that device could now show a five-wide grid of icons. 4.2 replaced the stock browser with Google Chrome and the stock calendar with Google Calendar, both of which brought new icon designs. The Clock and Camera apps were revamped in 4.2, and new icons were part of the deal. "Google Settings" was a new app that offered shortcuts to all the existing Google Account settings around the OS, and it had a unified look with Google Search and the new Google+ icon. Google Maps got a new icon, and Google Latitude, which was part of Google Maps, was retired in favor of Google+ location. + +![The browser was replaced with Chrome, and the new camera interface with a full screen viewfinder.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/chroemcam.jpg) +The browser was replaced with Chrome, and the new camera interface with a full screen viewfinder. +Photo by Ron Amadeo + +The stock browser did its best Chrome imitation for a while—it took many cues from Chrome’s interface, many Chrome features, and was even using Chrome’s javascript engine—but by the time Android 4.2 rolled around, Google deemed the Android version of Chrome ready to replace the imitator. On the surface, it didn't seem like much of a difference; the interface looked different, and early versions of Chrome for Android didn't scroll as smoothly as the stock browser. Under the hood, though, everything was different. Development of Android's main browser was now handled by the Google Chrome team instead of being a side project of the Android team. Android's default browser moved from being a stagnant app tied to Android releases to a Play Store app that was continually updated. Today there is even a beta channel that receives several updates per month. + +The camera interface was redesigned. It was now a completely full-screen app, showing a live view of the camera and places controls on top of it. The layout aesthetic had a lot in common with the [camera design][2] of Android 1.5: minimal controls with a focus on the viewfinder output. The circle of controls in the center appeared when you either held your finger on the screen or pressed the circle icon in the bottom right corner. When holding your finger down, you could slide around to pick the options around the circle, often expanding out into a sub-menu. Releasing over a highlighted item would select it. This was clearly inspired by the Quick Controls in the Android 4.0 browser, but arranging the options in a circle meant your finger was almost always blocking part of the interface. + +![The clock app, which went from a two-screen app to a feature-packed, useful application.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/clock-1.jpg) +The clock app, which went from a two-screen app to a feature-packed, useful application. +Photo by Ron Amadeo + +The clock application was completely revamped, going from a simple two-screen alarm clock to a world clock, alarm, timer, and stopwatch. The clock app design was like nothing Google introduced before, with an ultra-minimal aesthetic and red highlights. It seemed to be an experiment for Google. Even several versions later, this design language seemed to be confined only to this app. + +The clock's time picker was particularly well-designed. It showed a simple number pad, and it would intelligently disable numbers that would result in an invalid time. It was also impossible to set an alarm time without implicitly selecting AM or PM, forever solving the problem of accidentally setting an alarm for 9pm instead of 9am. + +![The new system UI for tablets used a stretched-out phone interface.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/tablet2.jpg) +The new system UI for tablets used a stretched-out phone interface. +Photo by Ron Amadeo + +The most controversial change in Android 4.2 was made to the tablet UI, which switched from a unified single bottom system bar to a two-bar interface with a top status bar and bottom system bar. The new design unified the phone and tablet interfaces, but critics said it was a waste of space to stretch the phone interface to a 10-inch landscape tablet. Since the navigation buttons had the whole bottom bar to themselves now, they were centered, just like the phone interface. + +![Multiple users on a tablet, and the new gesture-driven keyboard.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/2014-03-06-14.55.png) +Multiple users on a tablet, and the new gesture-driven keyboard. +Photo by Ron Amadeo + +On tablets, Android 4.2 brought support for multiple users. In the settings, a "Users" section was added, where you could manage users on a device. Setup was done from within each user account, where Android would keep separate settings, home screens, apps, and app data for each user. + +4.2 also added a new keyboard with swiping abilities. Rather than just tapping each individual letter, users could now keep a finger on the screen the whole time and just slide from letter to letter to type. + +---------- + +![Ron Amadeo](http://cdn.arstechnica.net/wp-content//uploads/authors/ron-amadeo-sq.jpg) + +[Ron Amadeo][a] / Ron is the Reviews Editor at Ars Technica, where he specializes in Android OS and Google products. He is always on the hunt for a new gadget and loves to rip things apart to see how they work. + +[@RonAmadeo][t] + +-------------------------------------------------------------------------------- + +via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/22/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://arstechnica.com/gadgets/2014/01/hands-on-with-samsungs-notepro-and-tabpro-new-screen-sizes-and-magazine-ui/ +[2]:http://cdn.arstechnica.net/wp-content/uploads/2013/12/device-2013-12-26-11016071.png +[a]:http://arstechnica.com/author/ronamadeo +[t]:https://twitter.com/RonAmadeo \ No newline at end of file diff --git a/sources/talk/The history of Android/23 - The history of Android.md b/sources/talk/The history of Android/23 - The history of Android.md new file mode 100644 index 0000000000..e67dff87e6 --- /dev/null +++ b/sources/talk/The history of Android/23 - The history of Android.md @@ -0,0 +1,59 @@ +The history of Android +================================================================================ +![Another Play Store redesign! This one is very close to the current design and uses cards that make layout changes a piece of cake.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/get-em-Kirill.jpg) +Another Play Store redesign! This one is very close to the current design and uses cards that make layout changes a piece of cake. +Photo by Ron Amadeo + +### Out-of-cycle updates—who needs a new OS? ### + +In between Android 4.2 and 4.3, Google went on an out-of-cycle update tear and showed just how much Android could be improved without having to fire up the arduous OTA update process. Thanks to the [Google Play Store and Play Services][1], all of these updates were able to be delivered without updating any core system components. + +In April 2013, Google released a major redesign to the Google Play Store. Like most redesigns from here on out, the new Play Store fully adopted the Google Now aesthetic, with white cards on a gray background. The action bar changed color based on the current content section, and since the first screen featured content from all sections of the store, the action bar was a neutral gray. Buttons to navigate to the content sections were now given top billing, and below that was usually a promotional block or rows of recommended apps. + +In April 2013, Google released a major redesign to the Google Play Store. Like most redesigns from here on out, the new Play Store fully adopted the Google Now aesthetic, with white cards on a gray background. The action bar changed color based on the current content section, and since the first screen featured content from all sections of the store, the action bar was a neutral gray. Buttons to navigate to the content sections were now given top billing, and below that was usually a promotional block or rows of recommended apps. + +![The individual content sections are beautifully color-coded.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/content-rainbow.jpg) +The individual content sections are beautifully color-coded. +Photo by Ron Amadeo + +The new Play Store showed off the real power of Google’s card design language, which enabled a fully responsive layout across all screen sizes. One large card could be stuck next to several little cards, larger-screened devices could show more cards, and rather than stretch things in horizontal mode, more cards could just be added to a row. The Play Store content editors were free to play with the layout of the cards, too; a big release that needed to be highlighted could get a larger card. This design would eventually trickle down to the other Google Play content apps, finally resulting in a unified design. + +![Hangouts replaced Google Talk and is now continually developed by the Google+ team.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/talkvhangouts2.jpg) +Hangouts replaced Google Talk and is now continually developed by the Google+ team. +Photo by Ron Amadeo + +Google I/O, the company's annual developer conference, was usually where a new Android version was announced. But at the 2013 edition, Google made just as many improvements without having to update the OS. + +One of the biggest things announced at the show was an update to Google Talk, Google's instant messaging platform. For a long time, Google shipped four text communication apps for Android: Google Talk, Google+ Messenger, Messaging (the SMS app), and Google Voice. Having four apps that accomplished the same task—sending a text message to someone—was very confusing for users. At I/O, Google killed Google Talk and started their messaging product over from scratch, creating [Google Hangouts][2]. While initially it only replaced Google Talk, the plan for Hangouts was to unify all of Google's various messaging apps into a single interface. + +The layout of the Hangouts UI really wasn't drastically different from Google Talk. The main page contained your open conversations, and tapping on one opened a chat page. The design was updated, the chat page now used a card-style display for each paragraph, and the chat list was now a "drawer"-style interface, meaning you could open it with a horizontal swipe. Hangouts had read receipts and a typing status indicator, and group chat was now a primary feature. + +Google+ was the center of Hangouts now, so much so that the full name of the product was actually "Google+ Hangouts." Hangouts was completely integrated with the Google+ desktop site so that video and chats could be made from one to the other. Identity and avatars were pulled from Google+, and tapping on an avatar would open that person's Google+ profile. And much like the change from Browser to Google Chrome, core Android functionality was passed off to a separate team—the Google+ team—as opposed to being a side product of the very busy Android engineers. With the Google+ takeover, Android's main IM client now became a continually developed application. It was placed into the Play Store and received fairly regular updates. + +![The new navigation drawer interface.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/navigation_drawer_overview1.png) +The new navigation drawer interface. +Photo by [developer.android.com][3] + +Google also introduced a new design element for the action bar: the navigation drawer. This drawer was shown as a set of three lines next to the app icon in the top-right corner. By tapping on it or dragging from the edge of the screen to the right, a side-mounted menu would appear. As the name implies, this was used to navigate around the app, and it would show several top-level locations within the app. This allowed the first screen to show content, and it gave users a consistent, easy-to-access place for navigation elements. The nav drawer was basically a super-sized version of the normal menu, scrollable and docked to the right side. + +---------- + +![Ron Amadeo](http://cdn.arstechnica.net/wp-content//uploads/authors/ron-amadeo-sq.jpg) + +[Ron Amadeo][a] / Ron is the Reviews Editor at Ars Technica, where he specializes in Android OS and Google products. He is always on the hunt for a new gadget and loves to rip things apart to see how they work. + +[@RonAmadeo][t] + +-------------------------------------------------------------------------------- + +via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/23/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://arstechnica.com/gadgets/2013/09/balky-carriers-and-slow-oems-step-aside-google-is-defragging-android/ +[2]:http://arstechnica.com/information-technology/2013/05/hands-on-with-hangouts-googles-new-text-and-video-chat-architecture/ +[3]:https://developer.android.com/design/patterns/navigation-drawer.html +[a]:http://arstechnica.com/author/ronamadeo +[t]:https://twitter.com/RonAmadeo \ No newline at end of file diff --git a/sources/talk/The history of Android/24 - The history of Android.md b/sources/talk/The history of Android/24 - The history of Android.md new file mode 100644 index 0000000000..b95ceb29c7 --- /dev/null +++ b/sources/talk/The history of Android/24 - The history of Android.md @@ -0,0 +1,82 @@ +The history of Android +================================================================================ +![The slick new Google Play Music app, which changed from Tron to a perfect match for the Play Store.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/Goooogleplaymusic.jpg) +The slick new Google Play Music app, which changed from Tron to a perfect match for the Play Store. +Photo by Ron Amadeo + +Another app update pushed out at I/O was a new Google Music app. The app was completely redesigned, finally doing away with the blue-on-blue design introduced in Honeycomb. Play Music's design was unified with the new Play Store released a few months earlier, with a responsive white card layout. Music was also one of the first major apps to take advantage of the new navigation drawer style. Along with the new app, Google launched Google Play Music All Access, an all-you-can-eat subscription service for $10 a month. Google Music now had a subscription plan, à la carte purchasing, and a cloud music locker. This version also introduced "Instant Mix," a mode where Google would cloud-compute a playlist of similar songs. + +![A game showing support for Google Play Games. This lineup shows the Play Store game feature descriptions, the permissions box triggered by signing into the game, a Play Games notification, and the achievements screen.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/gooooogleplaygames.jpg) +A game showing support for Google Play Games. This lineup shows the Play Store game feature descriptions, the permissions box triggered by signing into the game, a Play Games notification, and the achievements screen. +Photo by Ron Amadeo + +Google also introduced "Google Play Games," a back-end service that developers could plug into their games. The service was basically an Android version of Xbox Live or Apple's Game Center. Developers could build Play Games support into their game, which would easily let them integrate achievements, leaderboards, multiplayer, matchmaking, user accounts, and cloud saves by using Google's back-end services. + +Play Games was the start of Google's big push into gaming. Just like standalone GPS units, flip phones, and MP3 players, smartphone makers were hoping standalone gaming devices would be turned into nothing more than a smartphone feature bullet point. Why buy a Nintendo DS or PS Vita when you had a smartphone with you? An easy-to-use multiplayer service would be a big part of this, and we've still yet to see the final consequence of this move. Today, Google and Apple are both rumored to be planning living room gaming devices. + +![Google Keep, Google's first note taking service since Google Notebook.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/goooglekeep.jpg) +Google Keep, Google's first note taking service since Google Notebook. +Photo by Ron Amadeo + +It was clear some products were developed in time for presentation at Google I/O, [but the three-and-a-half hour keynote][1] was already so massive, some things were cut from being announced. Once the smoke cleared three days after Google I/O, Google introduced Google Keep, a note taking app for Android and the Web. Keep was a fairly straightforward affair, applying the responsive Google Now-style design to a note taking app. Users could change the size of the cards from a multi-column layout to a single column view. Notes could consist of plain text, checklists, voice note with automatic transcription, or pictures. Note cards could be dragged around and rearranged on the main screen, and you could even assign a color to a note. + +![Gmail 4.5, which switched to the new navigation drawer design and merged the action bars, thanks to some clever button elimination.](http://cdn.arstechnica.net/wp-content/uploads/2014/05/gmail.png) +Gmail 4.5, which switched to the new navigation drawer design and merged the action bars, thanks to some clever button elimination. +Photo by Ron Amadeo + +After I/O, not much was safe from Google's out-of-cycle updating. In June 2013, Google released a redesigned version of Gmail. The headline feature of the new design was the new navigation drawer interface that was introduced a month earlier at Google I/O. The most eye catching change was the addition of Google+ profile pictures instead of checkboxes. While the checkboxes were visibly removed, they were still there, just tap on a picture. + +![The new Google Maps, which switched to an all-white Google Now-style theme.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/newmaps11.png.) +The new Google Maps, which switched to an all-white Google Now-style theme. +Photo by Ron Amadeo + +One month later, Google released a completely overhauled version of Google Maps to the Play Store. It was the first ground-up redesign of Google Maps since Ice Cream Sandwich. The new version fully adopted the Google Now white card aesthetic, and it greatly reduced the amount of stuff on the screen. The new Google Maps seemed to have a design mandate to always show a map on the screen somewhere, as you’ll be hard pressed to find something other than the settings that fully covers the map. + +This version of Google Maps seemed to live in its own little design world. The white search bar “floated" above the map, with maps showing on the sides and top of the bar. That didn't really make it seem like the traditional Action Bar design. The navigation drawer, in the top left on every other app, was in the bottom left. There was no up button, app icon, or overflow button on the main screen. + +![The new Google Maps cut a lot of fat and displayed more information on a single screen.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/newmaps21.png) +The new Google Maps cut a lot of fat and displayed more information on a single screen. +Photo by Ron Amadeo + +The left picture shows what popped up when you tapped on the search bar (along with the keyboard, which had been closed). In the past, Google would show an empty page below a blank search bar, but in Maps, Google used that space to link to the new “Local" page. The “blank" search results displayed links to common, browsable results like restaurant listings, gas stations, and attractions. At the bottom of the results page was a list of nearby results from your search history and an option to manually cache parts of the map. + +The right set of images shows location page. The map shown in the top of the Maps 7 screenshot isn’t a thumbnail; that’s the full map view. In the new version of Google Maps, a location was displayed as a card that “floats" overtop of the main map, and the map was repositioned to center on the location. Scrolling up would move the card up and cover the map, and scrolling down would show the whole map with the result reduced to a small strip at the bottom. If the location was part of a list of search results, swiping left and right would move through the results. + +The location pages were redesigned to be much more useful at a glance. On the first page, the new version added critical information, like the location on a map, the review score, and the number of reviews. Since this is a phone, and the software will be dialing for you, the phone number was deemed pointless and was removed. The old version showed the distance to the location in miles, while the new version of Google Maps showed the distance in terms of time, based on traffic and preferred mode of transportation—a much more useful metric. The new version also put a share button front and center, which made coordination over IM or text messaging a lot easier. + +### Android 4.3, Jelly Bean—getting wearable support out early ### + +Android 4.3 would have been an incredible update if Google had done the traditional thing and not released updates between 4.3 and 4.2 through the Play Store. If the new Play Store, Gmail, Maps, Books, Music, Hangouts, Keep, and Play Games were bundled into a big brick as a new version of Android, it would have been hailed as the biggest release ever. Google didn't need to do hold back features anymore though. With very little left that required an OS update, at the end of July 2013, Google released the seemingly insignificant update called "Android 4.3." + +![Android Wear plugging into Android 4.3's Notification access screen.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/2014-03-28-12.231.jpg) +Android Wear plugging into Android 4.3's Notification access screen. +Photo by Ron Amadeo + +Google made no qualms about the low importance of 4.3, calling the newest release "Jelly Bean" (the third one in a row). Android 4.3's feature list read like a laundry list of things Google couldn't update from the Play Store or through Google Play Services, mostly consisting of low-level framework changes for developers. + +Many of the additions seemed to fit a singular purpose, though—Android 4.3 was Google's trojan horse for wearable computing support. 4.3 added support for Bluetooth Low Energy, a way to wirelessly connect Android to another device and pass data back and forth while using a very small amount of power—an integral feature to a wearable device. Android 4.3 also added a "Notification Access" API, which allowed apps to completely replicate and control the notification panel. Apps could display notification text and pictures and interact with the notification the same way users do—namely pressing action buttons and dismissing notifications. Doing this from an on-board app when you have the notification panel is useless, but on a device that is separate from your phone, replicating the information in the notification panel becomes much more useful. One of the few apps that plugged into this was "Android Wear Preview," which used the notification API to power most of the interface for Android Wear. + +The "4.3 is for wearables" theory explained the relatively low number of features in 4.3: it was pushed out the door to give OEMs time to update devices in time for the launch of [Android Wear][2]. The plan seems to have worked. Android Wear requires Android 4.3 and up, which has been out for so long now that most major flagships have updated. + +Android 4.3 was not all that exciting, but Android releases from here on out didn't need to be all that exciting. Everything became so modularized that Google could push updates out as soon as they were done through Google Play, rather than drop everything in one huge brick as an OS update. + +---------- + +![Ron Amadeo](http://cdn.arstechnica.net/wp-content//uploads/authors/ron-amadeo-sq.jpg) + +[Ron Amadeo][a] / Ron is the Reviews Editor at Ars Technica, where he specializes in Android OS and Google products. He is always on the hunt for a new gadget and loves to rip things apart to see how they work. + +[@RonAmadeo][t] + +-------------------------------------------------------------------------------- + +via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/24/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://live.arstechnica.com/liveblog-google-io-2013-keynote/ +[2]:http://arstechnica.com/gadgets/2014/03/in-depth-with-android-wear-googles-quantum-leap-of-a-smartwatch-os/ +[a]:http://arstechnica.com/author/ronamadeo +[t]:https://twitter.com/RonAmadeo \ No newline at end of file diff --git a/sources/talk/The history of Android/25 - The history of Android.md b/sources/talk/The history of Android/25 - The history of Android.md new file mode 100644 index 0000000000..39eeb55768 --- /dev/null +++ b/sources/talk/The history of Android/25 - The history of Android.md @@ -0,0 +1,70 @@ +The history of Android +================================================================================ +![The LG-made Nexus 5, the launch device for KitKat.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/nexus56.jpg) +The LG-made Nexus 5, the launch device for KitKat. + +Android 4.4, KitKat—more polish; less memory usage + +Google got really cute with the launch of Android 4.4. The company [teamed up with Nestlé][1] to name the OS "KitKat," and it launched on Halloween, October 31, 2013. Nestlé produced limited-edition Android-shaped KitKat bars, and KitKat packaging in stores promoted the new OS while offering a chance to win a Nexus 7. + +KitKat launched with a new Nexus device, the Nexus 5. The new flagship had the biggest display yet: a five-inch, 1920x1080 LCD. Despite the bigger screen size, LG—again the manufacturer for the device—was able to fit the Nexus 5 into the same dimensions as a Galaxy Nexus or Nexus 4. + +The Nexus 5 was specced comparatively to the highest-end phones at the time, with a 2.3Ghz Snapdragon 800 processor and 2GB of RAM. The phone was again sold unlocked on the Play Store, but while most phones with specs like this would go for $600-$700, Google sold the Nexus 5 for only $350. + +One of the most important improvements in KitKat was one you couldn't see: significantly lower memory usage. For KitKat, Google started a concerted effort to lower memory usage across the OS and bundled apps called "Project Svelte." After tons of optimization work and a "low memory" mode that disabled expensive graphical effects, Android could now run on as little as 340MB of RAM. Lower memory requirements were a big deal, because devices in the developing world—the biggest growth markets for smartphones—often ran on only 512MB of RAM. Ice Cream Sandwich's more advanced UI significantly raised the system requirements of Android devices, which left many low-end devices—even newly released low-end devices—stuck on Gingerbread. The lower system requirements of KitKat meant to bring these cheap devices back into the fold. With KitKat, Google hoped to finally kill Gingerbread (which, at the time of writing, is around 20 percent of the market). Just in case the lower system requirements weren't enough, there have even been reports that Google will [no longer license][2] the Google apps to Gingerbread devices. + +Besides bringing low-end phones to a modern version of the OS, Project Svelte's lower memory requirements were to be a boon to wearable computers, too. Google Glass [announced][3] it was also switching to the slimmer OS, and [Android Wear][4] ran on KitKat, too. The lower memory requirements in Android 4.4 and the notification API and Bluetooth LE support in 4.3 came together nicely to support wearable computing. + +KitKat also featured a lot of polish to the core OS interfaces that couldn't be updated via the Play Store. The System UI, Dialer, Clock, and Settings all saw updates. + +![KitKat's transparent bars on the Google Now Launcher.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/1homescreenz.png) +KitKat's transparent bars on the Google Now Launcher. +Photo by Ron Amadeo + +KitKat not only got rid of the unpopular lines to the left and right sides of the lock screen—it completely disabled lock screen widgets by default! Google obviously felt multiple lock screens and multiple home screens were a little to complicated for new users, so lock screen widgets now needed to be enabled in the settings. The lopsided time here and in the clock app was switched to a symmetrical weight, which looked a lot nicer. + +In KitKat, apps had the ability to make the system and status bars transparent, which significantly changed the look of the OS. The bars now blended into the wallpaper and any other app that chose to enable transparent bars. The bars could also be completely hidden by any app via a new feature called “immersive" mode. + +KitKat was the final nail in the “Tron" coffin, removing almost all traces of blue from the operating system. The status bar icons were changed from a blue to a neutral white. The status and system bars on the home screen weren’t completely transparent; a dark gradient was added to the top and bottom of the screen so that the white icons would still be visible on a light background. + +![Tweaks to Google Now and the folders.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/nowfolders.png) +Tweaks to Google Now and the folders. +Photo by Ron Amadeo + +The home screen that shipped with KitKat on the Nexus 5 was actually exclusive to the Nexus 5 for a few months, but it could now be on any Nexus device. The new home screen was called the "Google Now Launcher," and it was actually [the Google Search app][5]. Yes, Google Search grew from a simple search box to an entire home screen, and in KitKat, it drew the wallpaper, icons, app drawer, widgets, home screen settings, Google Now, and, of course, the search box. Thanks to Search now running the entire home screen, any time the home screen was open and the screen was on, voice commands could be activated by saying “OK Google." This was pointed out to the user with introductory “Say 'OK Google' text in the search bar, which would fade away after a few uses. + +Google Now was more integrated, too. Besides the usual swipe up from the system bar, Google Now was also the leftmost home screen. The new version brought some design tweaks as well. The Google logo was moved into the search bar, and the whole top area was compacted. A few card designs were cleaned up, and a new set of buttons at the bottom led to reminders, customization options, and an overflow button with settings, feedback, and help. Since Google Now was part of the home screen, it got transparent system and status bars, too. + +Transparency and “brightening up" certain parts of the OS were design themes in KitKat. Black was removed in the status and system bars by switching to transparent, and the black background of the folders was switched to white. + +![A screenshot showing the new, cleaner app screen layout, and a composite image of the app lineup.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/apps.png) +A screenshot showing the new, cleaner app screen layout, and a composite image of the app lineup. +Photo by Ron Amadeo + +The KitKat icon lineup changed significantly from 4.3. To be more dramatic, it was a bloodbath, with Google removing seven icons over the 4.3 loadout. Google Hangouts could handle SMS now, so the Messaging app was removed. Hangouts also took over Google+ Messenger duties, so that app shortcut was cut. Google Currents was removed as a default app, as it would soon be killed—along with Google Play Magazines—in favor of Google Play Newsstand. Google Maps was beaten back into a single icon, which meant Local and Navigation shortcuts were removed. The impossible-to-understand Movie Studio was cut, too—Google must have realized no one wants to edit movies on a phone. Thanks to the home screen “OK Google" hotword detection, the Voice Search icon was rendered redundant and removed. Depressingly, the long abandoned News & Weather app remained. + +There was a new app called “Photos"—really the Google+ app—which took over picture management duties. On the Nexus 5, the Gallery and Google+ Photos were pretty similar, but in newer builds of KitKat present on Google Play Edition devices, the Gallery was completely replaced by Google+ photos. Play Games was an interface for Google’s back-end multiplayer service—a Googly version of Xbox Live or Apple’s Game Center. Google Drive, which existed for years as a Play Store app, was finally made a default app. Google bought Quickoffice back in June 2012, now finally deeming the app acceptable for inclusion by default. While Drive opened Google Documents, Quickoffice opened Microsoft Office Documents. If keeping track, that was two document editing apps and two photo editing apps included on most KitKat loadouts. + +---------- + +![Ron Amadeo](http://cdn.arstechnica.net/wp-content//uploads/authors/ron-amadeo-sq.jpg) + +[Ron Amadeo][a] / Ron is the Reviews Editor at Ars Technica, where he specializes in Android OS and Google products. He is always on the hunt for a new gadget and loves to rip things apart to see how they work. + +[@RonAmadeo][t] + +-------------------------------------------------------------------------------- + +via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/25/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://arstechnica.com/gadgets/2013/09/official-the-next-edition-of-android-is-kitkat-version-4-4/ +[2]:http://www.androidpolice.com/2014/02/10/rumor-google-to-begin-forcing-oems-to-certify-android-devices-with-a-recent-os-version-if-they-want-google-apps/ +[3]:http://www.androidpolice.com/2014/03/01/glass-xe14-delayed-until-its-ready-promises-big-changes-and-a-move-to-kitkat/ +[4]:http://arstechnica.com/gadgets/2014/03/in-depth-with-android-wear-googles-quantum-leap-of-a-smartwatch-os/ +[5]:http://arstechnica.com/gadgets/2013/11/google-just-pulled-a-facebook-home-kitkats-primary-interface-is-google-search/ +[a]:http://arstechnica.com/author/ronamadeo +[t]:https://twitter.com/RonAmadeo \ No newline at end of file diff --git a/sources/talk/The history of Android/26 - The history of Android.md b/sources/talk/The history of Android/26 - The history of Android.md new file mode 100644 index 0000000000..3f9e1427ba --- /dev/null +++ b/sources/talk/The history of Android/26 - The history of Android.md @@ -0,0 +1,87 @@ +The history of Android +================================================================================ +![The new "add to home screen" interface was definitely inspired by Honeycomb.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/homesetupthrowback.png) +The new "add to home screen" interface was definitely inspired by Honeycomb. +Photo by Ron Amadeo + +KitKat added a nice throwback to Honeycomb with the home screen configuration screen. On the massive 10-inch screen of a Honeycomb tablet (right picture, above), long pressing on the home screen background would present you with a zoomed-out view of all your home screens. Widgets could be dragged from the bottom widget drawer into any home screen—it was very handy. When it came time to bring the Honeycomb interface to phones, from Android 4.0 all the way to 4.3, Google skipped this design and left it to the larger screened devices, presenting only a list of options after a long press (center picture). + +For KitKat though, Google finally came up with a solution. After a long press, 4.4 presented a slightly zoomed out view—you could see the current home screen and the screens to the left and right of it. Tapping on the “widgets" button would open a full screen list of widget thumbnails, but after long-pressing on a widget, you were thrown back into the zoomed-out view and could scroll through home screen pages and place the icon where you wanted. By dragging an icon or widget all the way past the rightmost home page, you could create a new home page. + +![Contacts and the Keyboard both removed any trace of blue.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/RIP33B5E5.png) +Contacts and the Keyboard both removed any trace of blue. +Photo by Ron Amadeo + +KitKat was the end of the line for the Tron design. In most parts of the OS, any remaining blue highlights were removed in favor of gray. In the People app, blue was sucked out of the header and the letter separators in the contact list. The pictures swapped sides and the bottom bar was changed to a light gray to match the top. The Keyboard, which injected the color blue into nearly every app, was changed to gray-on-gray-on-gray. That wasn't a bad thing. Apps should be allowed to have their own color scheme—forcing a potentially clashing color on them via the keyboard wasn’t good design. + +![The first three screenshots show KitKat's dialer, and the last one is 4.3.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/phone.png) +The first three screenshots show KitKat's dialer, and the last one is 4.3. +Photo by Ron Amadeo + +Google completely revamped the dialer in KitKat, creating a wild new design that changed the way users thought about a phone. Actual numbers in the new dialer were hidden as much as possible—there wasn’t even a dial pad on the main screen. The primary interface for making a phone call was now a search bar! If you wanted to call someone in your contacts, just type their name in; if you wanted to call a business, just type the business name in and the dialer would search through Google Maps’ extensive database of phone numbers. It worked incredibly well and was something only Google could pull off. + +If searching for numbers wasn’t your thing, the app also intelligently displayed a listing for the previous phone call, your most-contacted people, and a link to all contacts. At the bottom were links to your call history, the now old school number pad, and the usual overflow button containing a settings page. + +![Office stuff: Google Drive, which was now packed in, and the printing support.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/googledrive-and-printing.png) +Office stuff: Google Drive, which was now packed in, and the printing support. +Photo by Ron Amadeo + +It was amazing it took this long, but in KitKat, Google Drive was finally included as a default app. Drive allowed users to create and edit Google Docs spreadsheets and documents, scan documents with the camera and upload them as PDFs, or view (but not edit) presentations. Drive, by this point, had a great, modern design with a slide-out navigation drawer and a Google Now-style card design. + +For even more mobile office fun, KitKat included an OS-level printing framework. At the bottom of the settings was a "Printing" screen, and any printer OEM could make a plugin for it. Google Cloud Print was, of course, one of the first supporters. Once your printer was hooked up to Cloud Print, either natively or through a computer with Chrome installed, you could print to it over the Internet. Apps needed to support the printing framework, too. Pressing the little "i" button on Google Drive would show information about the document and give you the option to print it. Just like a desktop OS, a print dialog would pop up with settings like copies, paper size, and page selection. + +![The "Photos" section of the Google+ app, which replaced the Gallery.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/that-is-one-dead-gallery.png) +The "Photos" section of the Google+ app, which replaced the Gallery. +Photo by Ron Amadeo + +Google+ Photos and the Gallery initially shipped together on the Nexus 5, but in a later build of KitKat on Google Play devices, the Gallery was axed and Google+ completely took over photo duties. The new app changed the photo app from a light theme to a dark theme, and Google+ Photos brought a modern navigation drawer design. + +Android had long included an instant upload feature, which would automatically backup all pictures on Google’s cloud storage, first on Picasa and later on Google+. The big benefit of G+ Photos over the Gallery was that it could finally manage those cloud-stored photos. Little cloud icons in the lower right of a photo indicated backup status, and it would fill from right to left to indicate an upload-in-progress. G+ photos brought its own photo editor along with support for a million of other Google+ photo features, like highlights, auto awesome, and, of course, sharing to Google+. + +![Tweaks to the Clock app, which added an alarms tab and changed the time input dialog.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/clocks.png) +Tweaks to the Clock app, which added an alarms tab and changed the time input dialog. +Photo by Ron Amadeo + +Google changed the excellent time picker that was introduced in 4.2 to this strange clock interface, which was both slower and less precise than the old interface. First you were presented with a one-handed clock which you used to choose the hour, then that clock went away and another one-handed clock allowed you to choose the minute. Having to spin the minute hand or tap a spot on the clock face made it very difficult to pick times in non-five-minute increments. Unlike the old time picker, which required you to pick a time period, this just defaulted to AM (again making it possible to accidentally be off by 12 hours). + +### Today—Android everywhere ### + +![](http://cdn.arstechnica.net/wp-content/uploads/2014/05/android-everywhere2.png) +Photo by Google/Sony/Motorola/Ron Amadeo + +What started out as a curious BlackBerry clone from a search engine company became the most popular OS in the world from one of the biggest titans in the tech industry. Android has become Google's de-facto consumer operating system, and it powers phones, tablets, Google Glass, Google TV, and more. [Parts of it][1] are even used in the Chromecast. In the future, Google will be bringing Android to watches and wearables with [Android Wear][2], and the [Open Automotive Alliance][3] will be bringing Android to cars. Google will be making a renewed commitment to the living room soon, too, with [Android TV][4]. The OS is such a core pillar of Google, that events that are supposed to cover company-wide products, like Google I/O, end up becoming Android launch parties. + +![Top row: the Google Play content stores. Bottom row: the Google Play Apps.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/2014-03-30-03.08.jpg) +Top row: the Google Play content stores. Bottom row: the Google Play Apps. +Photo by Ron Amadeo + +What was once the ugly duckling of the mobile industry has transformed so much it now [wins design awards][5] for its user interface. The design of things like Google Now have affected everything the company produces, with even the desktop sites like Search, Google+, YouTube, and Maps getting in on the card design unity. The design keeps evolving as well. Google's next plan is to [unify design][6] across not just Android, but all of its products. The goal is to take something like Gmail and make it feel the same, whether you're using it on Android, a desktop browser, or a watch. + +Google outsourced so many pieces of Android to the Play Store, that version releases are becoming less and less necessary. Google decided the best way to beat carrier and OEM update issues was to sidestep those roadblocks completely. From here on out, there isn't much left to include in an Android update other than core under-the-hood changes—but even many APIs have been pushed to Google Play Services. If you just look at version releases, it seems like Android development has slowed down from the peak 2.5-month release cycle. But the reality is Google can now continually push out improvements to the Play Store in a never-ending, somewhat subtler stream of updates. + +With 1.5 million activations per day, Android has no where to go but up. In the future, Android will be headed from phones and tablets to cars and watches, and the lower system requirements of KitKat will drive phones to even lower prices in the developing world. The bottom line? More and more people will get online. And for many of those people, Android will be not just their phone but their primary computing device. With Android leading the charge for Google in so many areas, the OS that started off as a tiny acquisition has become one of Google's most important products. + +---------- + +![Ron Amadeo](http://cdn.arstechnica.net/wp-content//uploads/authors/ron-amadeo-sq.jpg) + +[Ron Amadeo][a] / Ron is the Reviews Editor at Ars Technica, where he specializes in Android OS and Google products. He is always on the hunt for a new gadget and loves to rip things apart to see how they work. + +[@RonAmadeo][t] + +-------------------------------------------------------------------------------- + +via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/26/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://blog.gtvhacker.com/2013/chromecast-exploiting-the-newest-device-by-google/ +[2]:http://arstechnica.com/gadgets/2014/03/in-depth-with-android-wear-googles-quantum-leap-of-a-smartwatch-os/ +[3]:http://arstechnica.com/information-technology/2014/01/open-automotive-alliance-aims-to-bring-android-inside-the-car/ +[4]:http://arstechnica.com/gadgets/2014/04/documents-point-to-android-tv-googles-latest-bid-for-the-living-room/ +[5]:http://userexperienceawards.com/uxa2012/ +[6]:http://arstechnica.com/gadgets/2014/04/googles-next-design-challenge-unify-app-design-across-platforms/ +[a]:http://arstechnica.com/author/ronamadeo +[t]:https://twitter.com/RonAmadeo \ No newline at end of file From 01a7a2009f435a9aafc5f4bff0c794af39356dcc Mon Sep 17 00:00:00 2001 From: DeadFire Date: Thu, 3 Jul 2014 14:39:54 +0800 Subject: [PATCH 49/56] =?UTF-8?q?20140703-2=20=E9=80=89=E9=A2=98=20?= =?UTF-8?q?=E6=8A=80=E6=9C=AF=E6=96=87=E7=AB=A0=E4=B8=80=E7=AF=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...find and kill misbehaving MySQL queries.md | 61 +++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 sources/tech/20140703 How to find and kill misbehaving MySQL queries.md diff --git a/sources/tech/20140703 How to find and kill misbehaving MySQL queries.md b/sources/tech/20140703 How to find and kill misbehaving MySQL queries.md new file mode 100644 index 0000000000..f4eebccfcd --- /dev/null +++ b/sources/tech/20140703 How to find and kill misbehaving MySQL queries.md @@ -0,0 +1,61 @@ +How to find and kill misbehaving MySQL queries +================================================================================ +Sometimes the complexity of a relational database system can be overwhelming. Fortunately, that complexity is an advantage, as with MySQL's tools for managing queries. In this tutorial, I will show you **how to find and kill any misbehaving MySQL queries**. + +To view the currently-running queries, log in to the MySQL console and run the 'show processlist' command: + + mysql> show processlist; + + +--------+--------+-----------------+---------+---------+-------+-------+------------------+-----------+---------------+-----------+ + | Id | User | Host | db | Command | Time | State | Info | Rows_sent | Rows_examined | Rows_read | + +--------+--------+-----------------+---------+---------+-------+-------+------------------+-----------+---------------+-----------+ + | 78233 | root | 127.0.0.1:37527 | mysql | Sleep | 16474 | | NULL | 6 | 6 | 6 | + | 84546 | root | 127.0.0.1:48593 | mysql | Sleep | 13237 | | NULL | 2 | 2 | 2 | + | 107083 | root | 127.0.0.1:56451 | mysql | Sleep | 15488 | | NULL | 1 | 121 | 121 | + | 131455 | root | 127.0.0.1:48550 | NULL | Query | 0 | NULL | show processlist | 0 | 0 | 0 | + +--------+--------+-----------------+---------+---------+-------+-------+------------------+-----------+---------------+-----------+ + 4 rows in set (0.03 sec) + +The first column you should look at is 'Time', which is the number of seconds the process has been "doing the thing it's doing". A process whose command is 'Sleep' is waiting for a query to come in, so it's not consuming any resources. For any other process, however, a 'Time' of more than a few seconds indicates a problem. + +In this case, the only query running is our 'show processlist' command. Let's see what it looks like if we have a poorly-written query running: + + mysql> show processlist; + + +--------+--------+-----------------+-----------+---------+-------+--------------+----------------------------------+-----------+---------------+-----------+ + | Id | User | Host | db | Command | Time | State | Info | Rows_sent | Rows_examined | Rows_read | + +--------+--------+-----------------+-----------+---------+-------+--------------+----------------------------------+-----------+---------------+-----------+ + | 78233 | root | 127.0.0.1:37527 | example | Sleep | 18046 | | NULL | 6 | 6 | 6 | + | 84546 | root | 127.0.0.1:48593 | example | Sleep | 14809 | | NULL | 2 | 2 | 2 | + | 107083 | root | 127.0.0.1:56451 | example | Sleep | 17060 | | NULL | 1 | 121 | 121 | + | 132033 | root | 127.0.0.1:54642 | example | Query | 27 | Sending data | select max(subtotal) from orders | 0 | 0 | 0 | + | 133933 | root | 127.0.0.1:48679 | NULL | Query | 0 | NULL | show processlist | 0 | 0 | 0 | + | 134122 | root | 127.0.0.1:49264 | example | Sleep | 0 | | NULL | 0 | 0 | 0 | + +--------+--------+-----------------+-----------+---------+-------+--------------+----------------------------------+-----------+---------------+-----------+ + 6 rows in set (0.00 sec) + +Ah! Now we see there is a query that's been running for almost 30 seconds. If we don't want to let it run its course, we can kill it by passing its 'Id' to the kill command: + + mysql> kill 132033; + Query OK, 0 rows affected (0.00 sec) + mysql> + +(Note that MySQL will always report 0 rows affected, because we're not altering any data.) + +Judicious use of the kill command can clean up a backlog of queries. Remember, however, that it's not a permanent solution - if those queries came from your application, you need to rewrite them, or you'll continue to see the same issue reappear. + +### See Also ### + +MySQL's documentation on the different 'Command' values: + +- [https://dev.mysql.com/doc/refman/5.7/en/thread-commands.html][1] + +-------------------------------------------------------------------------------- + +via: http://xmodulo.com/2014/07/find-kill-misbehaving-mysql-queries.html + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:https://dev.mysql.com/doc/refman/5.7/en/thread-commands.html \ No newline at end of file From 5c0efa51fdf3abc6231f1c5a99b08c7788b0a81c Mon Sep 17 00:00:00 2001 From: alim0x Date: Thu, 3 Jul 2014 15:22:40 +0800 Subject: [PATCH 50/56] [Translating]20140616 How to diskless boo...ine.md alim0x translating --- sources/tech/20140616 How to diskless boot a Linux machine.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sources/tech/20140616 How to diskless boot a Linux machine.md b/sources/tech/20140616 How to diskless boot a Linux machine.md index 86870d7d55..c17facde33 100644 --- a/sources/tech/20140616 How to diskless boot a Linux machine.md +++ b/sources/tech/20140616 How to diskless boot a Linux machine.md @@ -1,3 +1,5 @@ +alim0x translating + How to diskless boot a Linux machine ================================================================================ Diskless booting implies that a client computer does not have any disk storage when booting an operating system. In that case, the computer can load the kernel as well as the root filesystem from a remote NFS server over network. It may use several different methods to load the kernel and the root filesystem from an NFS server: RARP, BOOTP or DHCP protocols. In this tutorial, I will use BOOTP/DHCP protocol because they are supported by many network cards. @@ -147,4 +149,4 @@ via: http://xmodulo.com/2014/06/diskless-boot-linux-machine.html 译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 \ No newline at end of file +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From b1817b96fc70602510a46108e1ee42b09f759c2e Mon Sep 17 00:00:00 2001 From: CNprober Date: Thu, 3 Jul 2014 23:06:59 +0800 Subject: [PATCH 51/56] =?UTF-8?q?=E5=8D=A0=E5=9D=91=20By=20CNprober,=20Kee?= =?UTF-8?q?p=20an=20eye=20..=20in=20RH=207?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../20140625 Keep an eye on these 5 new features in RHEL 7.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sources/talk/20140625 Keep an eye on these 5 new features in RHEL 7.md b/sources/talk/20140625 Keep an eye on these 5 new features in RHEL 7.md index fbe8d23a71..f521646ed2 100644 --- a/sources/talk/20140625 Keep an eye on these 5 new features in RHEL 7.md +++ b/sources/talk/20140625 Keep an eye on these 5 new features in RHEL 7.md @@ -1,3 +1,5 @@ +CNprober translating... 619913541 + Keep an eye on these 5 new features in RHEL 7 ================================================================================ > RHEL 7 supports Docker containers, systemd, Microsoft-compatible ID management, and XFS for 500TB filesystems From b8b4a99a521d333ffd32ae00ed4087509d3d1dd0 Mon Sep 17 00:00:00 2001 From: alim0x Date: Thu, 3 Jul 2014 23:34:45 +0800 Subject: [PATCH 52/56] [Translating] alim0x translating --- .../The history of Android/01 - The history of Android.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sources/talk/The history of Android/01 - The history of Android.md b/sources/talk/The history of Android/01 - The history of Android.md index d6b12482f9..bbf93d8b7c 100644 --- a/sources/talk/The history of Android/01 - The history of Android.md +++ b/sources/talk/The history of Android/01 - The history of Android.md @@ -1,3 +1,5 @@ +alim0x translating + The history of Android ================================================================================ > Follow the endless iterations from Android 0.5 to Android 4.4. @@ -199,4 +201,4 @@ via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-histor [34]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/25/#kitkat [35]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/26/#conclusion [a]:http://arstechnica.com/author/ronamadeo -[t]:https://twitter.com/RonAmadeo \ No newline at end of file +[t]:https://twitter.com/RonAmadeo From 87be52bb3f228bbe5d36302cec863cd4b927b56f Mon Sep 17 00:00:00 2001 From: linuhap Date: Fri, 4 Jul 2014 00:11:13 +0800 Subject: [PATCH 53/56] translating --- ...702 Automotive Grade Linux Released for Open Source Cars.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sources/news/20140702 Automotive Grade Linux Released for Open Source Cars.md b/sources/news/20140702 Automotive Grade Linux Released for Open Source Cars.md index 3e64736b69..4f85e31e1b 100644 --- a/sources/news/20140702 Automotive Grade Linux Released for Open Source Cars.md +++ b/sources/news/20140702 Automotive Grade Linux Released for Open Source Cars.md @@ -1,3 +1,4 @@ +linuhap translating Automotive Grade Linux Released for Open Source Cars ================================================================================ > The Linux Foundation and its partners have released the first version of Automotive Grade Linux, the open source platform for use inside connected cars. @@ -35,4 +36,4 @@ via: http://thevarguy.com/open-source-application-software-companies/070114/auto [1]:https://automotive.linuxfoundation.org/ [2]:http://linuxfoundation.org/ [3]:http://automotive.linuxfoundation.org/ -[4]:https://www.tizen.org/ \ No newline at end of file +[4]:https://www.tizen.org/ From 44a498b38ea45ec36a8f7f8c0e19d1768577af5b Mon Sep 17 00:00:00 2001 From: wxy Date: Fri, 4 Jul 2014 16:27:26 +0800 Subject: [PATCH 54/56] PUB:20140620 How Many Languages Do Developers Need To Know @tinyeyeser --- .../20140620 How Many Languages Do Developers Need To Know.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename {translated/talk => published}/20140620 How Many Languages Do Developers Need To Know.md (98%) diff --git a/translated/talk/20140620 How Many Languages Do Developers Need To Know.md b/published/20140620 How Many Languages Do Developers Need To Know.md similarity index 98% rename from translated/talk/20140620 How Many Languages Do Developers Need To Know.md rename to published/20140620 How Many Languages Do Developers Need To Know.md index f43b26b962..d241b85e4f 100644 --- a/translated/talk/20140620 How Many Languages Do Developers Need To Know.md +++ b/published/20140620 How Many Languages Do Developers Need To Know.md @@ -1,6 +1,6 @@ 到底开发者需要掌握多少门语言? ================================================================================ -![](http://readwrite.com/files/styles/1400_0/public/fields/code%20example%20Flickr%20Ruiwen%20Chua.jpg) +![](http://a2.files.readwrite.com/image/upload/c_fill,h_900,q_70,w_1600/MTIyNzYyNjIwNDU2Njk4NDcw.jpg) > 诸如Apple、Facebook及Google这样的大公司正在开发他们自己的编程语言,开发者们被迫只有适应。 @@ -69,7 +69,7 @@ Watson-Hamblin就主张说,当每家公司都为了自家需要发明自己的 via: http://readwrite.com/2014/06/17/apple-swift-facebook-hack-google-dart -译者:[Mr小眼儿](http://blog.csdn.net/tinyeyeser) 校对:[校对者ID](https://github.com/校对者ID) +译者:[Mr小眼儿](http://blog.csdn.net/tinyeyeser) 校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From 8348d6bdb6a7828a58b5b317b7b0e9acb6649631 Mon Sep 17 00:00:00 2001 From: Luoxcat Date: Fri, 4 Jul 2014 22:45:45 +0800 Subject: [PATCH 55/56] =?UTF-8?q?Luoxcat=20=E7=BF=BB=E8=AF=91=2020140702?= =?UTF-8?q?=20Command=20Line=20Tuesdays--Part?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sources/tech/20140702 Command Line Tuesdays--Part Three.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sources/tech/20140702 Command Line Tuesdays--Part Three.md b/sources/tech/20140702 Command Line Tuesdays--Part Three.md index 8bf7670849..ccaab0075c 100644 --- a/sources/tech/20140702 Command Line Tuesdays--Part Three.md +++ b/sources/tech/20140702 Command Line Tuesdays--Part Three.md @@ -1,3 +1,4 @@ +暑假 先来一发 Luoxcat 翻译 Command Line Tuesdays – Part Three ================================================================================ Today, mr Shotts takes us on a first part of a guided tour through our file system. We’ll learn how to visit, list files within directories and we’ll learn to use some options for the first time. So let’s begin with the first command of the week. @@ -80,4 +81,4 @@ via: https://news.opensuse.org/2014/07/01/command-line-tuesdays-part-three/ 译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 \ No newline at end of file +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From e2d5e602a7ca2db942b8957530208c0735d63121 Mon Sep 17 00:00:00 2001 From: wxy Date: Fri, 4 Jul 2014 23:04:19 +0800 Subject: [PATCH 56/56] =?UTF-8?q?PUB=EF=BC=9AEncrypting=20Your=20Cat=20Pho?= =?UTF-8?q?tos?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @runningwater 翻译的不错! --- .../Encrypting Your Cat Photos.md | 66 ++++++++++--------- 1 file changed, 34 insertions(+), 32 deletions(-) rename {translated/tech => published}/Encrypting Your Cat Photos.md (55%) diff --git a/translated/tech/Encrypting Your Cat Photos.md b/published/Encrypting Your Cat Photos.md similarity index 55% rename from translated/tech/Encrypting Your Cat Photos.md rename to published/Encrypting Your Cat Photos.md index 4589cafd80..9e80a36d30 100755 --- a/translated/tech/Encrypting Your Cat Photos.md +++ b/published/Encrypting Your Cat Photos.md @@ -1,24 +1,26 @@ 给猫咪照片加密 ================================================================================ -事实上,我的硬盘上不存在那种不愿意被别人看到的东西,只存有一些猫咪的照片、一些记录着想写的书想法的文本文件或者是一些短篇故事的文本,也有一些写了一半的 NaNoWriMo 小说文件。简单的说,我的硬盘就没有加密的必要,因为没有什么可隐藏的。可问题是,我们错误的把“隐私的渴望”跟“要隐藏某东西”两概念混淆在一起。比如说我生活的美国,我们视隐私权利是理所当然的事,但不包括那些传统所认为的“某人隐藏色情或炸弹”。隐私考虑的是一些平常的事情。 +事实上,我的硬盘上不存在那种不愿意被别人看到的东西,只存有一些猫咪的照片、一些记录着想写的书的想法的文本文件,或者是一些短篇故事的文本,也有一些写了一半的 NaNoWriMo 小说文件。简单的说,我的硬盘就没有加密的必要,因为没有什么可隐藏的。可问题是,我们错误的把“隐私的渴望”跟“要隐藏某东西”两概念混淆在一起。比如说我生活的美国,我们视隐私权利是理所当然的事,但不包括那些传统所认为的“某人的隐藏色情或炸弹”。隐私考虑的是一些平常的事情。 -我居住在密歇根州。这儿的冬天很冷,我趋向于把温度设置在 75 度左右。对您们来说这个温度可能高了,但在我的家里刚好合适。多亏我的家是属于私有的,我的邻居不可能知道我们保持了这么高的温度,否则一但他们看到冬天如此“浪费”能源的家庭,这些邻居心里会很不平衡的。事实上,本地条规中有一条明确指出任何超过 60 度的就算是生态浪费。我并不想与这种僵老的条例较真,所以我仅仅想保守我们舒适的房子的秘密。我们并不想隐藏任何事情,但也并不是任何事情都要让外人知道。 +我居住在密歇根州。这儿的冬天很冷,我趋向于把温度设置在华氏 75 度左右。对您们来说这个温度可能高了,但在我的家里刚好合适。多亏我的家是属于私有的,我的邻居不可能知道我们保持了这么高的温度,否则一但他们看到冬天如此“浪费”能源的家庭,这些邻居心里会很不平衡的。事实上,本地条规中有一条明确指出任何超过华氏 60 度的就算是生态浪费。我并不想与这种僵老的条例较真,所以我仅仅想保守我们舒适的房子的秘密。我们并不想隐藏任何事情,但也并不是任何事情都要让外人知道。 很明显,我举的例子有点弱智,但我希望的是这能引起大家的思考。现代的 Linux 系统很容易的就可以对我们的数据进行加密,并且很可靠,所以为什么不好好利用利用呢? ### 加密原理? ### -我不会涉及太多关于加密原理的细节,但要明白最基本的原理,即使是最简单的实现,这是必须的。要加密和解密一个文件,需要两把“钥匙”。一把是私钥,正如名字所示,属于私有的。我宁愿把私钥看作是真实的钥匙-你想要多少就可造出多少,但这样做是不明智的。同样的私钥你造的越多,某些不怀好意的人得到其中一把的机率就越大,他们就会闯入你的公寓(额,我的意思的文件)。 +我不会涉及太多关于加密原理的细节,但要明白最基本的原理,即使是最简单的实现,这是必须的。要加密和解密一个文件,需要两把“钥匙”。一把是私钥,正如名字所示,属于私有的。我宁愿把私钥看作是真实的钥匙——你想要多少就可造出多少,但这样做是不明智的。同样的,私钥你造的越多,某些不怀好意的人得到其中一把的机率就越大,他们就会闯入你的公寓(额,我的意思是指那些文件)。 -公钥更像是锁的样子,只有你能打开(用你的私钥)此锁。这公钥任何人都可以得到,你可以将它张贴在网站上、把它放在你的 E-mail 中、甚至纹在你的背上。其它人想创建一个只有你能访问的文件,就可以使用此公钥来加密。 +公钥更像是锁的样子,只有你能(用你的私钥)打开此锁。这公钥任何人都可以得到,你可以将它张贴在网站上、把它放在你的 E-mail 中、甚至纹在你的背上。其它人想创建一个只有你能访问的文件,就可以使用此公钥来加密。 -这种一对多的情况也有个很酷的副作用。如果你用你的私钥来加密一些东西,任何人都可以用你提供的公钥来解密它们。这听起来很傻,但这种情景很有用。虽然加密的文件不能免于被窥视,但是它能保证此文件确实来自于你而没有被恶意改动过。用你的公钥能解密的文件仅仅只能是用你私钥加密过的。用这种方式,用私钥加密的文件即是数字“签名”文件。 +这种一对多(LCTT译注:指别人可以加密多个文件,而只有你的一个私钥才能解密)的情况也有个很酷的副作用。如果你用你的私钥来加密一些东西,任何人都可以用你提供的公钥来解密它们。这听起来很傻,但这种情景很有用。虽然加密的文件不能免于被窥视,但是它能保证此文件确实来自于你而没有被恶意改动过。用你的公钥能解密的文件仅仅只能是用你私钥加密过的。用这种方式,用私钥加密的文件即是数字“签名”文件。(LCTT译注:既然是任何人都可以用公钥解密,其实加密没有意义,相反,仅仅用你的私钥做一个签名指纹,别人只需要用你的公钥来验证该签名是否一致即可判断是否来自你。) + +(LCTT译注:其实本文此处所述的加密解密、签名校验等原理不完全正确,和实际的非对称加密情形有所差异,不过比较容易理解和类比。) #### 通用加密步骤: #### 1. 你有一个文件想要发送给苏茜 ,所以你得使用苏茜的公钥来加密,这样就只有 苏茜才能打开这个文件,但苏茜没有办法知道是谁给她发送的文件。因为任何一个人都可以用她的公钥来加密文件。 -2. 因此,你得把你的文件用苏茜的公钥和你的私钥都加密。苏茜将不得不解密两次,但她知道它是来自于你的文件。 -3. 苏茜接收到此文件后会用能证明来自于你的公钥来解密第一层。 +2. 因此,你得把你的文件用苏茜的公钥和你的私钥都加密。苏茜将不得不解密两次,但她知道它是来自于你的文件。(LCTT译注:实际上应该是用你的私钥要做签名,生成一小段签名指纹,而不是对已经加密的文件再次加密。) +3. 苏茜接收到此文件后会用能证明来自于你的公钥来解密第一层。(LCTT译注:校验签名,确认来自你的私钥的签名正确。) 4. 然后用她的私钥来解密第二层的密码,这是唯一的能够将原始文件进行解密的钥匙了(因为你是用她的公钥来加密的)。 当然,这情景就是用来安全传输文件的加密手段。这也是加密你的文件(或者分区)相当常用及简单的方法。就让我们开始来对文件进行加密吧,因为大多数人都想加密他们的系统。 @@ -27,45 +29,45 @@ 在深入更复杂的各种加密设置操作前,我们先做简单的对文件加密例子。能处理加密的应用程序有很多很多,事实上,对文件和系统进行加密的各种可用软件选择,很容易就会让我们变得焦头烂额。现在,我们就使用一款很基本的(但非常强大)命令行工具来对文件加密。 GPG (英文名:Gnu Privacy Guard)是一款对商业软件 PGP(英文名:Pretty Good Protection)的开源实现软件。它具有加密、签名及管理多个密钥等功能。用例子说明,让我们简单的加密一个文件吧。 -我们假设你有一个名叫 secret_manifesto.txt 的文件,它包含有关于生命、宇宙及一切事物的秘密。使用 GPG,你只需要一个密码就可以加密此文件。使用密码远比使用公钥和私钥对简单,因为它只是用你的密码加密。虽然这很容易就让你的文件遭受到破解(使用彩虹表或其他黑客工具),但像锡上的标签上所说的:这是相当不错的保护。要加密你的文件,可以这样做: +我们假设你有一个名叫 secret_manifesto.txt 的文件,它包含有关于生命、宇宙及一切事物的秘密。使用 GPG,你只需要一个密码就可以加密此文件。使用密码远比使用公钥和私钥对简单,因为它只是用你的密码加密。虽然这比较容易让你的文件遭受到破解(比如使用彩虹表或其他黑客工具暴力破解),但像它的名字中所宣称的:这是相当不错的保护。要加密你的文件,可以这样做: # gpg -c secret_manifesto.txt - # Enter passphrase: - # Repeat passphrase: + Enter passphrase: + Repeat passphrase: -一但完成,在相同的目录下就会多出个新的文件,它默认的名字是 secret_manifesto.txt.gpg 。这是一个二进制文件,这意味着它非常非常小,但是要拷贝/粘贴进电子邮件(e-mail)或 即时消息(IM) 就不可能了。要使其可拷贝等操作,可以添加 -a 标志,这将创建一个只包含 ASCII 码文本的加密文件: +一但完成,在相同的目录下就会多出个新的文件,它默认的名字是 secret_manifesto.txt.gpg 。这是一个二进制文件,这意味着它真的比较小,但是要将其内容拷贝/粘贴到电子邮件(e-mail)或 即时消息(IM) 就不可能了(LCTT译注:当然你可以使用附件方式。)。要使其便于拷贝等操作,可以添加 -a 标志,这将创建一个只包含 ASCII 码文本的加密文件: # gpg -a -c secret_manifesto.txt - # Enter passphrase: - # Repeat passphrase: + Enter passphrase: + Repeat passphrase: # ls -l -rw-rw-r-- 1 spowers spowers 6 Nov 23 1:26 secret_manifesto.txt -rw-rw-r-- 1 spowers spowers 174 Nov 23 1:27 secret_manifesto.txt.asc -rw-rw-r-- 1 spowers spowers 55 Nov 23 1:26 secret_manifesto.txt.gpg -注意到现在多了一个以 .asc 为扩展名的文件。它是个纯文本文件,从上面的代码段示例可以看到它比二进制的加密文件还大,当然比原文本文件就大的更多了。一但你把文件加密了,也确实想要对些信息保密,最明智的就是把原文本文件删除掉。 +注意到现在多了一个以 .asc 为扩展名的文件。它是个纯文本文件,从上面的代码段示例可以看到它比二进制的加密文件还大,当然比原文本文件就大的更多了。一但你把文件加密了,也确实想要对些信息保密,最明智的就是把原文本文件删除掉。(LCTT译注:千万记住密码啊,否则谁也帮不了你了——你得自己破解自己的密码啦:>) -要解密文件,你需要再一次使用 GPG 程序。不管是二进制的还是 ASCII 文件,使用相同的命令就可以解密。如下示: +要解密文件,你需要再一次使用 GPG 程序。不管是二进制的还是 ASCII 文件,使用相同的命令就可以解密。如下所示: # gpg secret_manifesto.txt.asc - # gpg: CAST5 encrypted data - # Enter passphrase: - # gpg: encrypted with 1 passphrase - # File `secret_manifesto.txt' exists. Overwrite? (y/N) + gpg: CAST5 encrypted data + Enter passphrase: + gpg: encrypted with 1 passphrase + File `secret_manifesto.txt' exists. Overwrite? (y/N) 注意到上面的例子中,我没有删除源文本文件,所以 GPG 给出了是否覆盖选项提示。一但操作完成,我的未加密的源文件又回来了。如果你仅仅只有一两个文件要保护,那基于命令行的 GPG 程序正是你所需的。但如果你想实现在系统上指定一个区域,任何保存到这区域的的文件都会自动加密的话,就有点复杂了。可这也并不是非常的困难,让我们用一个非常简单的示范例子来讲解吧。 ### 加密 USB 驱动盘 ### -如我前面提到的,要加密有很多可选的方式方法。加密磁盘分区最通用的一种方法是 LUKS(Linux Unified Key Setup) 系统。一个使用 LUKS 格式化分区的 USB 驱动盘可以被大多数系统自动被别到。实际上,如果你使用的是像 Ubuntu 桌面这样的桌面环境系统的话,加密 USB 驱动盘其实就是在格式化过程中简单的勾选上一个复选框而已。虽然这是加密 USB 盘最容易让人接受的方式,但我还是想演示如何在命令行下进行加密,因为这种方式可以让你明白在加密的后面具体发生了什么。 +如我前面提到的,要加密有很多可选的方式方法。加密磁盘分区最通用的一种方法是 LUKS(Linux Unified Key Setup) 系统。一个使用 LUKS 格式化分区的 USB 驱动盘可以被大多数系统自动识别到。实际上,如果你使用的是像 Ubuntu 桌面这样的桌面环境系统的话,加密 USB 驱动盘其实就是在格式化过程中简单的勾选上一个复选框而已。虽然这是加密 USB 盘最容易让人接受的方式,但我还是想演示如何在命令行下进行加密,因为这种方式可以让你明白在加密的后面具体发生了什么。 #### 步骤 1: 识别您的 USB 驱动盘。 #### -在您插入 USB 驱动盘后,如果输入 `dmesg` 命令,将会显示出所有的系统信息,包括刚插入的 USB 驱动盘的设备名字。 确保设备标识是正确的,因为后面要进行的操作会破坏驱动盘上的所有数据。您也不想一不小心就格式化掉正常的磁盘吧。(虽然不用提醒,但我还是要说,确保您的 USB 驱动盘已经没有你想保留的数据,因为这是一个破坏性的过程。) +在您插入 USB 驱动盘后,如果在终端输入 `dmesg` 命令,将会显示出所有的系统信息,包括刚插入的 USB 驱动盘的设备名字。 确保设备标识是正确的,因为后面要进行的操作会破坏驱动盘上的所有数据。您也不想一不小心就格式化掉正常的磁盘吧。(虽然不用提醒,但我还是要说,确保您的 USB 驱动盘已经没有你想保留的数据,因为这是一个破坏性的过程。) #### 步骤 2: 对 USB 驱动盘进行分区。 #### -假设,在您的系统上 USB 驱动盘是 /dev/sdb 这个设备,您需要在这个驱动上创建一个单分区。我们使用 fdisk 命令。下面是 fdisk 必须的交互操作。一般地,用 o 命令来创建一个新的空分区,然后用 w 命令来保存设置。然后重新运行 fdisk 命令,并用 n 命令来创建一个新的主分区,接下来保持默认的以使用整个设备空间: +假设,在您的系统上 USB 驱动盘是 /dev/sdb 这个设备,您需要在这个驱动上创建一个单分区(LCTT译注:设备是sdb,其上可以有多个分区,分别叫sdb1、sdb2等等)。我们使用 fdisk 命令。下面是 fdisk 必须的交互操作。一般地,用 o 命令来创建一个新的空分区,然后用 w 命令来保存设置。然后重新运行 fdisk 命令,并用 n 命令来创建一个新的主分区,接下来保持默认的以使用整个设备空间: # sudo fdisk /dev/sdb @@ -93,7 +95,7 @@ Command (m for help): w The partition table has been altered! -现在你的 USB 驱动盘有了一个单分区了(/dev/sdb1),但还没有文件系统,这正是我们所想要的,因为 LUKS 系统需要在创建文件系统前在您的分区上创建一个加密层。因此,在创建文件系统之前,就让我们在分区上先创建一个 LUKS 层吧,可以使用 cryptsetup 程序。如果您还没有安装 cryptsetup 的话,可以搜索您系统发布版本的仓库源,里有就有。下面就开始创建 LUKS 加密分区层: +现在你的 USB 驱动盘有了一个单分区了(/dev/sdb1),但还没有文件系统,这正是我们所想要的,因为 LUKS 系统需要在创建文件系统前在您的分区上创建一个加密层。因此,在创建文件系统之前,就让我们在分区上先创建一个 LUKS 层吧,可以使用 cryptsetup 程序。如果您还没有安装 cryptsetup 的话,可以搜索您系统发布版本的仓库源,里面就有。下面就开始创建 LUKS 加密分区层: # cryptsetup luksFormat /dev/sdb1 @@ -105,37 +107,37 @@ Enter LUKS passphrase: Verify passphrase: -按照提示的操作,一定要确保记得您的密码!注意,这儿的“密码单词”不仅仅只表示一个单词。这只是一个习惯,因而得名,设置的越长,越难被破解。 +按照提示的操作,一定要确保记得您的密码!注意,这儿的“密码单词”不仅仅只表示一个单词。这只是一个习惯,因而得名,设置的越长越复杂,越难被破解。 一但上面的操作完成,就创建好了一个加密的分区,但它还没有被挂载或格式化。要做的第一步就是挂载分区,可以再一次使用 cryptsetup 工具: # cryptsetup luksOpen /dev/sdb1 my_crypto_disk Enter passphrase for /dev/sdb1: -当输入完密码后,您输入名字的设备就会像虚拟硬盘一样被挂载上。通常,它挂载在 /dev/mapper/devicename 目录下,所以这个例子所示的分区就挂载到了 /dev/mapper/my_crypto_disk 目录。 +当输入完密码后,您输入名字的设备就会像虚拟硬盘一样被挂载上。通常,它挂载在 /dev/mapper/设备名 的目录下,所以这个例子所示的分区就挂载到了 /dev/mapper/my_crypto_disk 目录。 -现在这个设备就可当做未加密的卷来访问了。 只要它一被挂载,就跟其它未加密的卷是一样的了,这就意味着您想要使用它的话就需要先写入文件系统: +现在这个设备就可当做未加密的卷来访问了。 只要它一被挂载,就跟其它未加密的卷是一样的了,这就意味着您想要使用它的话就需要先建立文件系统: # mkfs.vfat /dev/mapper/my_crypto_disk -n my_crypto_disk mkfs.vfat 3.0.9 (31 Jan 2010) -现在驱动功能完备,可以像其它驱动盘一样正常挂载使用了。实际上,如果你使用的是现代的图形用户界面系统的话,只要你把 USB 驱动盘一插入计算机,将会提示您输入密码,然后就自动挂载上了。退出的时候跟普通盘一样,里面存储的数据会被加密,直到下次输入密码。在命令行里使用 cryptsetup 卸载以及重加密驱动盘也是很简单的: +现在磁盘的功能完备了,可以像其它磁盘一样正常挂载使用了。实际上,如果你使用的是现代的图形用户界面系统的话,只要你把 USB 驱动盘一插入计算机,将会提示您输入密码,然后就自动挂载上了。退出的时候跟普通盘一样,里面存储的数据会被加密,直到下次输入密码。在命令行里使用 cryptsetup 卸载以及重加密驱动盘也是很简单的: # cryptsetup luksClose my_crypto_disk -这仅仅只是冰山一角 +### 这仅仅只是冰山一角 ### -写这篇文章,我的目的是希望剥开加密后面的秘密。加密和解密单个文件很简单,要加密整个 USB 驱动盘也不是太困难(如果使用的是图形用户界面工具就更容易了)。对于大多数系统的发布版本来说,在安装过程中就可以对整个 home 目录进行加密。加密是对您的整个 home 目录起作用,然而有些问题就需要特别处理了。例如,您没登陆时就运行的任务在大多数情况下是不会访问您的 home 目录的,但如果您有调度任务需要访问 home 目录的话,应该进行修改,让其访问系统中其它目录的数据。我觉得安全和便利平衡的中庸之道还是加密 USB 驱动盘,然后在上面存储个人资料。 +写这篇文章,我的目的是希望剥开加密后面的秘密。加密和解密单个文件很简单,要加密整个 USB 驱动盘也不是太困难(如果使用的是图形用户界面工具就更容易了)。对于大多数系统的发布版本来说,在安装过程中就可以对整个 home 目录进行加密。加密是对您的整个 home 目录起作用,然而有些问题就需要特别处理了。例如,您没登陆时就运行的任务在大多数情况下是不会访问您的 home 目录的,但如果您有调度任务需要访问 home 目录的话,应该进行修改,让其访问系统中其它目录的数据。我觉得在安全和便利之中平衡的中庸之道还是加密 USB 驱动盘,然后在上面存储个人资料。 -我必须警告您,一但您考虑安全的问题,就会想要把任何东西都加密起来。这不是什么坏的事情,但是像要对 home 目录加密这种情况,是会碰到一些问题的。如果您使用不用系统的话,跨平台访问也是个大问题。像这种情况,我强烈建议您使用 [TrueCrypt][1]。在前期的文章片段里我提到过 TrueCrypt,它是一款开源的,跨平台的加密系统软件。可以对文件、文件夹、分区等等进行加密,同时可以在任何系统中访问加密的数据。像 Windows、Mac 及 Linux 客户端都可以使用。社区也有大力的支持。 +我必须警告您,一但您考虑到安全的问题,就会想要把任何东西都加密起来。这不是什么坏的事情,但是像要对 home 目录加密这种情况,是会碰到一些问题的。如果您使用不同系统的话,跨平台访问也是个大问题。像这种情况,我强烈建议您使用 [TrueCrypt][1]。在前期的文章片段里我提到过 TrueCrypt,它是一款开源的,跨平台的加密系统软件。可以对文件、文件夹、分区等等进行加密,同时可以在任何系统中访问加密的数据。像 Windows、Mac 及 Linux 客户端都可以使用。社区也有大力的支持。(LCTT译注:悲惨的是,棱镜门事件之后,TrueCrypt的作者已经放弃了该产品,并且强烈建议大家也不要使用,具体可以参考本站的一些相关消息。所以痛失TrueCrypt之后,我们还有哪些替代品?) -希望对文件进行加密的目的并不是为了隐藏某些东西。就像即使您有个好邻居,最好夜里也得锁门一样,对您的个人数据进行加密也是个很正常的举动。如果您想在网上与大家分享你的 Whiskerton 先生戴着可爱的小豆豆帽子的照片的话,这是您的权利。但其它的人,比如他们索检你硬盘的时候,就不需要让看到了。 +希望对文件进行加密的目的并不是为了隐藏某些东西。就像即使您有个好邻居,最好夜里也得锁门一样,对您的个人数据进行加密也是个很正常的举动。如果您想在网上与大家分享你的 Whiskerton 先生戴着可爱的小豆豆帽子的照片的话,这是您的权利。但其它的人,比如他们索检你硬盘的时候,就不需要让他们看到了。 -------------------------------------------------------------------------------- via: http://www.linuxjournal.com/content/encrypting-your-cat-photos -译者:[runningwater](https://github.com/runningwater) 校对:[校对者ID](https://github.com/校对者ID) +译者:[runningwater](https://github.com/runningwater) 校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出