<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>command-line-interface &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://en.wordpress.com/tag/command-line-interface/</link>
	<description>Feed of posts on WordPress.com tagged "command-line-interface"</description>
	<pubDate>Thu, 03 Dec 2009 15:50:53 +0000</pubDate>

	<generator>http://en.wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[Command-line interface's joke]]></title>
<link>http://holmes1412.wordpress.com/2009/11/09/command-line-interfaces-joke/</link>
<pubDate>Mon, 09 Nov 2009 05:54:06 +0000</pubDate>
<dc:creator>holmes1412</dc:creator>
<guid>http://holmes1412.wordpress.com/2009/11/09/command-line-interfaces-joke/</guid>
<description><![CDATA[Berawal dari baca postingan Istri saya disini, jadi terinspirasi membuat versi  grafisnya.]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Berawal dari baca postingan Istri saya <a title="http://ingafety.wordpress.com/2009/11/08/apt-get-and-aptitude-joke/" href="http://ingafety.wordpress.com/2009/11/08/apt-get-and-aptitude-joke/" target="_blank">disini</a>, jadi terinspirasi membuat versi  grafisnya. <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p style="text-align:center;"><img class="aligncenter size-full wp-image-328" style="border:1px solid black;margin-top:5px;margin-bottom:5px;" title="Screenshot1" src="http://holmes1412.wordpress.com/files/2009/11/screenshot1.png" alt="Screenshot1" width="500" height="351" /><img class="aligncenter size-full wp-image-329" style="border:1px solid black;margin-top:5px;margin-bottom:5px;" title="Screenshot2" src="http://holmes1412.wordpress.com/files/2009/11/screenshot2.png" alt="Screenshot2" width="500" height="312" /><img class="aligncenter size-full wp-image-330" style="border:1px solid black;margin-top:5px;margin-bottom:5px;" title="Screenshot3" src="http://holmes1412.wordpress.com/files/2009/11/screenshot3.png" alt="Screenshot3" width="499" height="312" /><img class="aligncenter size-full wp-image-331" style="border:1px solid black;margin-top:5px;margin-bottom:5px;" title="Screenshot4" src="http://holmes1412.wordpress.com/files/2009/11/screenshot4.png" alt="Screenshot4" width="500" height="312" /><img class="aligncenter size-full wp-image-332" style="border:1px solid black;margin-top:5px;margin-bottom:5px;" title="Screenshot5" src="http://holmes1412.wordpress.com/files/2009/11/screenshot5.png" alt="Screenshot5" width="500" height="312" /><img class="aligncenter size-full wp-image-333" style="border:1px solid black;margin-top:5px;margin-bottom:5px;" title="Screenshot6" src="http://holmes1412.wordpress.com/files/2009/11/screenshot6.png" alt="Screenshot6" width="500" height="312" /><img class="aligncenter size-full wp-image-334" style="border:1px solid black;margin-top:5px;margin-bottom:5px;" title="Screenshot7" src="http://holmes1412.wordpress.com/files/2009/11/screenshot7.png" alt="Screenshot7" width="499" height="351" /><img class="aligncenter size-full wp-image-335" style="border:1px solid black;margin-top:5px;margin-bottom:5px;" title="Screenshot8" src="http://holmes1412.wordpress.com/files/2009/11/screenshot8.png" alt="Screenshot8" width="500" height="350" /></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Bus Pirate: Python library]]></title>
<link>http://dangerousprototypes.com/2009/09/23/bus-pirate-python-library/</link>
<pubDate>Wed, 23 Sep 2009 12:13:25 +0000</pubDate>
<dc:creator>Ian</dc:creator>
<guid>http://dangerousprototypes.com/2009/09/23/bus-pirate-python-library/</guid>
<description><![CDATA[audiohacked has started a python library for the Bus Pirate. So far, it&#8217;s been tested as an EE]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><img class="alignnone size-full wp-image-1345" title="bppy" src="http://wherelabs.wordpress.com/files/2009/09/bppy.png" alt="bppy" width="450" height="254" /></p>
<p>audiohacked <a href="http://code.google.com/p/the-bus-pirate/issues/detail?id=40">has started</a> a python library for the Bus Pirate. So far, it&#8217;s been tested as an EEPROM dumper:</p>
<blockquote><p>I have started writing a python library for the bus pirate. It&#8217;s ugly and messy, but I was able to use it to dump the firmware from an SPI chip&#8230; You can contact me if you need more information.</p></blockquote>
<p>The source code is <a href="http://github.com/audiohacked/pyBusPirate">available here</a>.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Linux User Interface]]></title>
<link>http://ariksl.wordpress.com/2009/09/10/linux-user-interface/</link>
<pubDate>Thu, 10 Sep 2009 10:26:12 +0000</pubDate>
<dc:creator>ari-ksl</dc:creator>
<guid>http://ariksl.wordpress.com/2009/09/10/linux-user-interface/</guid>
<description><![CDATA[Linux dapat dikendalikan oleh satu atau lebih interface baris perintah (command line interface atau ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Linux dapat dikendalikan oleh satu atau lebih interface baris perintah (<em>command line interface</em> atau CLI) berbasis teks, user interface grafis (<em>graphical user interface</em> atau GUI, yang umumnya merupakan konfigurasi bawaan untuk versi <em>desktop</em>).</p>
<p>Pada desktop, GNOME, KDE dan Xfce merupakan user interface yang paling populer, walaupun terdapat sejumlah varian user interface. Antarmuka pengguna yang paling populer berjalan di atas X Window System (X), yang menyediakan transparansi jaringan yang memperolehkan sebuah aplikasi grafis berjalan di atas satu mesin tetapi ditampilkan dan dikontrol di mesin yang lain.</p>
<p>GUI yang lain memiliki X window manager seperti FVWM, Enlightenment, Fluxbox dan Window Maker. Manajer jendela menyediakan kontrol untuk penempatan dan penampilan dari jendela-jendela aplikasi individual serta interaksi dengan sistem jendela X.</p>
<p>Sebuah sistem Linux umumnya menyediakan sebuah command line interface lewat sebuah shell, yang merupakan cara tradisional untuk berinteraksi dengan sebuah sistem Unix. Sebuah distro Linux yang dikhususkan untuk lingkungan peladen mungkin hanya memiliki CLI sebagai satu-satunya interface. Sebuah sistem yang tidak memiliki monitor hanya dapat dikontrol melalui command line lewat protokol seperti SSH atau telnet.</p>
<p>Kebanyakan komponen tingkat rendah Linux, termasuk GNU Userland, menggunakan CLI secara ekslusif. CLI cocok untuk digunakan pada lingkungan otomasi tugas-tugas yang repetitif atau tertunda, dan menyediakan komunikasi inter-proses yang sangat sederhana. Sebuah program emulator terminal grafis sering digunakan untuk mengakses CLI dari sebuah Linux desktop.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[running php by command line]]></title>
<link>http://tahsinhasan.wordpress.com/2009/08/18/running-php-by-command-line/</link>
<pubDate>Tue, 18 Aug 2009 06:30:00 +0000</pubDate>
<dc:creator>tahsin352</dc:creator>
<guid>http://tahsinhasan.wordpress.com/2009/08/18/running-php-by-command-line/</guid>
<description><![CDATA[php 4.3.0 have CLI(command line interface) On by default. Today I am going to say about how to run p]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>php 4.3.0 have CLI(command line interface) On by default. Today I am going to say about how to run php by command line in windows.</p>
<p>First of all you need to go to the php folder in your xampp by cmd. If you use svn, then you will have an error saying &#8220;Unable to load dynamic library &#8216;E:/xampp/php/ext/php_svn.dll&#8217;- the specified module could not be found&#8221;.</p>
<p>To solve this problem, you need to copy to following files from Apache/bin/ to php/ :</p>
<p>libdb43.dll<br />intl3_svn.dll<br />libapr.dll<br />libapriconv.dll<br />libaprutil.dll</p>
<p>These will solve the above problem.</p>
<p>Now to execute a php file write the command: php address_of_the_file_to_run(for example E:/xampp/htdocs/tab.php)</p>
<p>you can pass arguments in the command line.And one the server side, you can fetch the argument by the $argv variable, the first element is always the filename that is executing.</p>
<p><span style="font-weight:bold;">An act of encouragement: if you feel this site is helpful,then please click on of the ads as an act of encouragement.Thank you for your encouragements.</span></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[antara orlando bloon, eyeOS, dan blog-CLI = gak ada hubungannya. tapi saya kan artis?]]></title>
<link>http://pikopages.wordpress.com/2009/06/08/antara-orlando-bloon-eyeos-dan-blog-cli-gak-ada-hubungannya-tapi-saya-kan-artis/</link>
<pubDate>Mon, 08 Jun 2009 17:27:24 +0000</pubDate>
<dc:creator>piko</dc:creator>
<guid>http://pikopages.wordpress.com/2009/06/08/antara-orlando-bloon-eyeos-dan-blog-cli-gak-ada-hubungannya-tapi-saya-kan-artis/</guid>
<description><![CDATA[baru nongton kingdom of heaven nih&#8230; film lama sih, tapi bagus banget. orlando bloon, eh bloom ]]></description>
<content:encoded><![CDATA[baru nongton kingdom of heaven nih&#8230; film lama sih, tapi bagus banget. orlando bloon, eh bloom ]]></content:encoded>
</item>
<item>
<title><![CDATA[CLI es diferente de "DOS"]]></title>
<link>http://juliorestrepo.wordpress.com/2009/05/14/cli-es-diferente-de-dos/</link>
<pubDate>Fri, 15 May 2009 02:10:03 +0000</pubDate>
<dc:creator>juliorestrepo</dc:creator>
<guid>http://juliorestrepo.wordpress.com/2009/05/14/cli-es-diferente-de-dos/</guid>
<description><![CDATA[Se llama SHELL a la aplicación que permite que el usuario interactue con el sistema operativo. Las S]]></description>
<content:encoded><![CDATA[Se llama SHELL a la aplicación que permite que el usuario interactue con el sistema operativo. Las S]]></content:encoded>
</item>
<item>
<title><![CDATA[Console - Para los que amamos la CLI]]></title>
<link>http://juliorestrepo.wordpress.com/2009/05/14/console-para-los-que-amamos-la-cli/</link>
<pubDate>Fri, 15 May 2009 02:02:06 +0000</pubDate>
<dc:creator>juliorestrepo</dc:creator>
<guid>http://juliorestrepo.wordpress.com/2009/05/14/console-para-los-que-amamos-la-cli/</guid>
<description><![CDATA[Console es un proyecto GNU que nos propone una interface enriquecida para reemplazar las pocas funci]]></description>
<content:encoded><![CDATA[Console es un proyecto GNU que nos propone una interface enriquecida para reemplazar las pocas funci]]></content:encoded>
</item>
<item>
<title><![CDATA[Giao diện là gì? What is interface?]]></title>
<link>http://cttmmd.wordpress.com/2009/05/12/giao-di%e1%bb%87n-la-gi-what-is-interface/</link>
<pubDate>Mon, 11 May 2009 15:38:59 +0000</pubDate>
<dc:creator>tonyminhduy</dc:creator>
<guid>http://cttmmd.wordpress.com/2009/05/12/giao-di%e1%bb%87n-la-gi-what-is-interface/</guid>
<description><![CDATA[Giao diện là gì? What is interface? Bài viết này dùng Đại Việt Ngữ để giải thích rành mạch một số kh]]></description>
<content:encoded><![CDATA[Giao diện là gì? What is interface? Bài viết này dùng Đại Việt Ngữ để giải thích rành mạch một số kh]]></content:encoded>
</item>
<item>
<title><![CDATA[Java Giving Command Line Arguments(Eclipse)]]></title>
<link>http://burakdd.wordpress.com/2009/04/18/java-giving-command-line-argumentseclipse/</link>
<pubDate>Sat, 18 Apr 2009 13:14:15 +0000</pubDate>
<dc:creator>burakddd</dc:creator>
<guid>http://burakdd.wordpress.com/2009/04/18/java-giving-command-line-argumentseclipse/</guid>
<description><![CDATA[While working on java projects it is sometimes good to hava arguments from console, and sometimes it]]></description>
<content:encoded><![CDATA[While working on java projects it is sometimes good to hava arguments from console, and sometimes it]]></content:encoded>
</item>
<item>
<title><![CDATA[Umzug]]></title>
<link>http://cheated.wordpress.com/2009/04/11/umzug/</link>
<pubDate>Sat, 11 Apr 2009 05:54:28 +0000</pubDate>
<dc:creator>webspione</dc:creator>
<guid>http://cheated.wordpress.com/2009/04/11/umzug/</guid>
<description><![CDATA[Umzug nach www.derPathfinder.de]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Umzug nach <a class="aligncenter" href="http://www.derPathfinder.de" target="_self">www.derPathfinder.de</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[WordPress 2.7 upgrade in one line]]></title>
<link>http://hackaday.com/2008/12/10/wordpress-27-upgrade-in-one-line/</link>
<pubDate>Thu, 11 Dec 2008 03:46:15 +0000</pubDate>
<dc:creator>Eliot Phillips</dc:creator>
<guid>http://hackaday.com/2008/12/10/wordpress-27-upgrade-in-one-line/</guid>
<description><![CDATA[BadPoetry WordPress 2.7 has just been released and features a complete interface overhaul. Hack a Da]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><img class="alignnone size-full wp-image-6821" title="wordpress" src="http://hackadaycom.wordpress.com/files/2008/12/wordpress.jpg" alt="wordpress" width="450" height="60" /></p>
<p><span style="text-decoration:line-through;">BadPoetry</span> <a title="WordPress › Blog Tool and Publishing Platform" href="http://wordpress.org/">WordPress 2.7</a> has <a title="WordPress › Blog »   WordPress 2.7 “Coltrane”" href="http://wordpress.org/development/2008/12/coltrane/">just been released</a> and features a complete interface overhaul. Hack a Day runs on <a title="WordPress MU › 	Home" href="http://mu.wordpress.org/">WordPress MU</a> hosted by <a title="WordPress" href="http://wordpress.com/">WordPress.com</a>, so we got this update last week. We run standard WordPress.org on all of our personal blogs though. We recommend it because it&#8217;s free, has a massive userbase, and if you host it yourself, you can do whatever you want with it.</p>
<p>To make the upgrade process as simple as possible (and for the <a title="How to destroy a filesystem  - Hack a Day" href="http://hackaday.com/2008/11/09/how-to-destroy-a-filesystem/">sheer rush of &#8216;rm -rf&#8217;</a>), we use a one line command.</p>
<p><code>$ curl http://wordpress.org/latest.zip -o "wp.zip" &#38;&#38; unzip wp.zip &#38;&#38; rm -rf ./wordpress/wp-content/ &#38;&#38; cp -r ./wordpress/* ~/www/</code></p>
<p><a title="cURL and libcurl" href="http://curl.haxx.se/">curl</a> downloads the latest version from wordpress. unzip unpacks all of the files into a directory called &#8216;wordpress&#8217;. rm -rf removes everything in the &#8216;wp-content&#8217; directory. Otherwise, you will overwrite your images, themes, and plugins. cp -r copies everything to your http document root, overwriting the previous install.</p>
<p>Naturally, you should <a title="Backing Up Your Database « WordPress Codex" href="http://codex.wordpress.org/Backing_Up_Your_Database">back up your current install and database</a> beforehand. We tend to use the one-liner with reckless abandon. If you&#8217;re wondering about the terseness, it was designed to <a title="//wo ..." href="http://twitter.com/cfinke/status/779468837">fit inside the 140 character limit of Twitter</a>.</p>
<p>[Thanks, <a title="Less Talk, More Do" href="http://www.chrisfinke.com/">Chris Finke</a>]</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[An apple-command a day (at least for today)]]></title>
<link>http://reverseblog.wordpress.com/2008/11/19/an-apple-command-a-day-at-least-for-today/</link>
<pubDate>Wed, 19 Nov 2008 13:00:20 +0000</pubDate>
<dc:creator>Chris</dc:creator>
<guid>http://reverseblog.wordpress.com/2008/11/19/an-apple-command-a-day-at-least-for-today/</guid>
<description><![CDATA[#1 New MacBook © Mikael Miettinen And there it is. Wow. I mean, it&#8217;s a truly beautiful piece o]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p style="text-align:center;">
<div class="wp-caption aligncenter" style="width: 360px"><a href="http://www.flickr.com/photos/30261851@N06/3003217671/"><img title="#1 New MacBook © Mikael Miettinen" src="http://farm4.static.flickr.com/3196/3003217671_c058cbd75f.jpg" alt="#1 New MacBook © Mikael Miettinen" width="350" height="251" /></a><p class="wp-caption-text">#1 New MacBook © Mikael Miettinen</p></div>
<p>And there it is.</p>
<p>Wow.</p>
<p>I mean, it&#8217;s a truly beautiful piece of aluminium <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>And to christen this new family member&#8230; let&#8217;s unveil a useful command! Suppose you&#8217;re about to install some package you&#8217;ve found on the net. A classic .dmg mac file. Should you go for the graphical installer or for the command line interface? If I were to do it remotely, I&#8217;d choose the second! Then &#8220;hdid&#8221; is the command you are in need of!</p>
<p>Launched on a terminal, &#8220;hdid&#8221; will mount a .dmg file in the /Volumes directory. Of course we can override this behaviour (and that&#8217;s what&#8217;s the &#8220;hdid&#8221; man page for!). By the way of illustration:<br />
<code>$ hdid sample_package.dmg</code><br />
(Also known as working: <code>$ hdiutil attach sample_package.dmg</code>)</p>
<p>With just &#8220;hdid&#8221; we&#8217;re only halfway to the finish: in particular, we need to run the &#8220;installer&#8221; command (as root, or more precisely, as root through &#8220;sudo&#8221;) on the package we can find in the /Volumes directory (usually ending with .pkg). Let&#8217;s continue with our little example:<br />
<code>$ sudo /usr/bin/installer -pkg /Volumes/sample_dir/sample_package.pkg -target /</code></p>
<p>Last step, there is nothing left for us to do but umount the mounted package:<br />
<code>$ hditutil detach /Volumes/sample_dir/</code></p>
<p>And that&#8217;s it.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Future Storage Systems: Part 4: Operating System - Conceptual Overview]]></title>
<link>http://flickerdown.wordpress.com/2008/10/13/future-storage-systems-part-4-operating-system-conceptual-overview/</link>
<pubDate>Mon, 13 Oct 2008 16:00:00 +0000</pubDate>
<dc:creator>flickerdown</dc:creator>
<guid>http://flickerdown.wordpress.com/2008/10/13/future-storage-systems-part-4-operating-system-conceptual-overview/</guid>
<description><![CDATA[In the previous Future Storage System articles, we&#8217;ve covered the basic hardware foundation fo]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>In the previous Future Storage System articles, we&#8217;ve covered the basic <a class="zem_slink" title="Hardware" rel="wikipedia" href="http://en.wikipedia.org/wiki/Hardware">hardware</a> foundation for what I envision to be a powerful <a class="zem_slink" title="Future-oriented" rel="wikipedia" href="http://en.wikipedia.org/wiki/Future-oriented">future-oriented</a> <a class="zem_slink" title="Storage (memory)" rel="wikipedia" href="http://en.wikipedia.org/wiki/Storage_%28memory%29">storage</a> solution for the <a class="zem_slink" title="Business" rel="wikipedia" href="http://en.wikipedia.org/wiki/Business">commercial</a> midrange.  However, as you&#8217;re probably aware, hardware is meaningless without <a class="zem_slink" title="Computer software" rel="wikipedia" href="http://en.wikipedia.org/wiki/Computer_software">software</a> to provide the operational <a class="zem_slink" title="Capability-based security" rel="wikipedia" href="http://en.wikipedia.org/wiki/Capability-based_security">capabilities</a> that are needed to mange information.  In this article, I will focus on a general design for an <a class="zem_slink" title="Extensibility" rel="wikipedia" href="http://en.wikipedia.org/wiki/Extensibility">extensible</a> software layer (an <a class="zem_slink" title="Operating system" rel="wikipedia" href="http://en.wikipedia.org/wiki/Operating_system">OS</a>) that will provide future-oriented capability expansion as well as robust <a class="zem_slink" title="Analytics" rel="wikipedia" href="http://en.wikipedia.org/wiki/Analytics">analytics</a>, capabilities, and integration with <a class="zem_slink" title="Business continuity" rel="wikipedia" href="http://en.wikipedia.org/wiki/Business_continuity">business continuity</a> principles.  As always, please reference the diagram below.</p>
<div id="attachment_168" class="wp-caption aligncenter" style="width: 310px"><a href="http://flickerdown.com/wp-content/uploads/2008/10/fss-os-general1.jpg"><img class="size-medium wp-image-168" title="Future Storage System - Operating System - Conceptual" src="http://flickerdown.com/wp-content/uploads/2008/10/fss-os-general1-300x197.jpg" alt="Future Storage System - Operating System - Conceptual" width="300" height="197" /></a><p class="wp-caption-text">Future Storage System - Operating System - Conceptual</p></div>
<p><!--more--></p>
<p>I will review this diagram starting from the upper right hand corner and will drill down on each bullet point made.  Again, as these ideas are further developed, I&#8217;ll probably move to a more classic diagram via <a class="zem_slink" title="Microsoft Visio" rel="homepage" href="http://office.microsoft.com/en-us/FX010857981033.aspx">Visio</a> or something similar, but, for now this will have to suffice. <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  You should see my whiteboard right now. <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><span style="text-decoration:underline;"><strong>Core</strong>:</span></p>
<p>When discussing the core of the <a class="zem_slink" title="Operating system" rel="wikipedia" href="http://en.wikipedia.org/wiki/Operating_system">operating system</a>, I have to be somewhat ambiguous, namely, the underlying <a class="zem_slink" title="Kernel (computer science)" rel="wikipedia" href="http://en.wikipedia.org/wiki/Kernel_%28computer_science%29">kernel</a> technology will dictate the inherent flexibility of the design. I will be honest in that I believe a <a class="zem_slink" title="Hypervisor" rel="wikipedia" href="http://en.wikipedia.org/wiki/Hypervisor">hypervisor</a>-based model (a la <a class="zem_slink" title="VMware" rel="homepage" href="http://www.vmware.com/">VMWare</a>, <a class="zem_slink" title="Xen" rel="homepage" href="http://www.xen.org">Xen</a>, et al.) will enable more features and flexibility than a bare-metal OS with a direct kernel/HAL relationship.  Additionally, as we move further into the features and functionality of this FSS OS, this hypervisor building model will become extremely important.  I&#8217;ll reserve details on that for another post.</p>
<p>Getting back to the subject at hand, I&#8217;ve divide the &#8220;Core&#8221; section into 4 basic sections: Drivers, I/O Engine, Hypervisor (?), and Management (Base). Let&#8217;s discuss the roles of each of these.</p>
<ul>
<li><strong>Drivers</strong>.  This particular aspect of the Core OS deals with how the hardware interfaces with the OS itself.  This can be either a generic <a class="zem_slink" title="Device driver" rel="wikipedia" href="http://en.wikipedia.org/wiki/Device_driver">driver</a> model (a la VMWare) or can be manufacturer specific and developed/maintained (a la <a class="zem_slink" title="Hyper-V" rel="wikipedia" href="http://en.wikipedia.org/wiki/Hyper-V">Hyper-V</a>).  There are advantages to both approaches;  with <em>generic driver models</em>, you get away from havoc-causing revisions to driver stacks or resource models that can (and are) introduced on a regular basis.  By standardizing on a generic driver model, you can also set specific boundaries around drivers for <a class="zem_slink" title="Quality assurance" rel="wikipedia" href="http://en.wikipedia.org/wiki/Quality_assurance">QA</a> purposes and keep your overall OS implentation &#8220;clean.&#8221;  With <em>specific driver models</em>, you reap the benefits of core optimizations made by the manufacturer. This adds to the overall performance envelope of the underlying hardware technology as it relates to the OS layer. It obviously introduces some level of risk to the OS in that driver refreshes could theoretically &#8220;break&#8221; existing connections or the OS itself, but this could be mitigated by extensive modeling and alpha/beta programs.</li>
<li><strong>I/O Engine</strong>. Again, talking in theoretics here, the I/O engine encompasses the basic storage functions for the OS.  This could be broken out into Data Protection Algorithms (i.e <a class="zem_slink" title="RAID" rel="wikipedia" href="http://en.wikipedia.org/wiki/RAID">RAID</a>) and Encode/Decode functions for passing data to/from cache and disk.</li>
<li><strong>Hypervisor</strong>.  As stated in the start of this section, the model I&#8217;m embracing is a hypervisor-based one that allows for functionality and features to be &#8220;plugged in&#8221; through software and hardware (don&#8217;t forget <a class="zem_slink" title="Torrenza" rel="wikipedia" href="http://en.wikipedia.org/wiki/Torrenza">Torrenza</a>!!!).</li>
<li><strong>Management (Base)</strong>.  This management function relates to the capabilities of the FSS operator to accomplish basic tasks through a <a class="zem_slink" title="Graphical user interface" rel="wikipedia" href="http://en.wikipedia.org/wiki/Graphical_user_interface">GUI</a> or <a class="zem_slink" title="Command line interface" rel="wikipedia" href="http://en.wikipedia.org/wiki/Command_line_interface">CLI</a> interface.  It would involve RAID/Storage group creation, host assignment, registration &#38; configuration, and other basic tasks that are typically accomplished.  As noted in the hardware overiew of <a href="http://flickerdown.com/?p=122" target="_blank">Part 2</a>, there would be a dedicated management port (GigE) designed to handle interaction.</li>
</ul>
<p><span style="text-decoration:underline;"><strong>Extended:</strong></span></p>
<p>When discussing the extended section of the OS, I&#8217;m referring to features that extend the native capabilities of the OS as installed.  This section deals with building out the OS to cover such features as <em>Thin (virtual) Provisioning, System Analytics, Quality of Services features, and DeDuplication</em>.  I&#8217;ve kept this list to four major categories but I do assume that there could be other technologies that emerge that will add to this list.</p>
<ul>
<li><strong>Thin (Virtual) Provisioning.</strong> Call it &#8220;thin,&#8221; call it &#8220;virtual,&#8221; it doesn&#8217;t matter.  Companies (and people) that get caught up in semantics really have better things to do with their time (like actually implementing hardware FC, not <a class="zem_slink" title="Emulator" rel="wikipedia" href="http://en.wikipedia.org/wiki/Emulator">software emulation</a>) <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> .  Essentially, Thin Provisioning allows the Future Storage System to manage information growth by only allocating storage that is needed versus what is wanted.  By spoofing the storage size to the attached hosts, you&#8217;re able to better handle growth and storage utilization (<a href="http://www.typepad.com/t/trackback/1106103/32853118" target="_blank">important when you&#8217;re already dealing with usable capacities below 50%</a>).</li>
<li><strong>System Analytics. </strong> Included in the Core OS is a base level of analytics, equivalent to the SysInfo command you could run on a typical <a class="zem_slink" title="Microsoft" rel="homepage" href="http://www.microsoft.com/worldwide/">Microsoft</a> or VMWare OS.  By including this from the start, most customers would be able to report on their hardware/software frameworks and determine if there were any failures.  Beyond this basic level of reporting, there often arises the need to determine what is happening from a hardware standpoint, i.e. Processor load, RAID Group response time, etc.  The System Analytics extension would provide in-depth reporting facilities to &#8220;fine tune&#8221; particular aspects of the FSS.</li>
<li><strong>Quality of Service.</strong> Similar in approach to DRS-enabled clusters within the VMWare environment (where you can assign resource &#8220;shares&#8221; across several different slices of physical hardware), the <a class="zem_slink" title="Quality of service" rel="wikipedia" href="http://en.wikipedia.org/wiki/Quality_of_service">QoS</a> features of the FSS would allow RAID Group or LUN level performancing based on policies (covered in the &#8220;Specialized&#8221; Section below) in addition to potentially handing vNIC (<a class="zem_slink" title="Internet protocol suite" rel="wikipedia" href="http://en.wikipedia.org/wiki/Internet_protocol_suite">IP</a>, <a class="zem_slink" title="ISCSI" rel="wikipedia" href="http://en.wikipedia.org/wiki/ISCSI">iSCSI</a>, <a class="zem_slink" title="Fibre Channel over Ethernet" rel="wikipedia" href="http://en.wikipedia.org/wiki/Fibre_Channel_over_Ethernet">FCoE</a>?) or vPORT (FC) splitting and throttling for bandwidth.  Current storage system implement similar features at the LUN level or RAID Group level only; the extension of QoS to the port level on the storage system itself is rather unique.</li>
<li><strong>Deduplication</strong>.  There&#8217;s no doubt about it; whether we&#8217;re talking about <a class="zem_slink" title="NetApp" rel="homepage" href="http://www.netapp.com/">NetApp</a>&#8217;s ASIS or EMC&#8217;s Avamar, data deduplication is a feature that is here to stay.  The affects of deduplication may not be obvious at first but, over the lifespan of your data, it will enable quicker backups and replication in addition to increasing storage efficiency on your storage system.  Not much else to say about this particular technology for now, but, suffice it to say, as an extension to the Core OS, it can be a powerful tool.</li>
</ul>
<p><span style="text-decoration:underline;"><strong>Specialized:</strong></span></p>
<p>Outside of the Extended features that could be &#8220;plugged in&#8221; to the Core framework, I determined that there might be a few more specialized tasks that would require extra integration from either 3rd party resources or just additional developmental work beyond the norm.  In this particular category, I&#8217;ve put <em>In-Band/Out-of-Band</em> (Data at Rest) <em>Data Encryption</em> and <em>Policies </em>(Spindown, Power Management).  Let&#8217;s dive into these for a moment.</p>
<ul>
<li><strong>Data Encryption</strong>.  With compliance laws (PCI, HIPAA, DoD, et al) becoming more and more de rigueur in storage and communication, it almost seems that Data Encryption should be a Core component versus an add on.  Nevertheless, it&#8217;s important to recognize that you need to be able to accomplish Data Encryption (and Decryption) on resting data and on data that is being processed for storage.  If anything, this is a perfect use case for Torrenza pluggables. <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />   Standardizing encrytion on the FSS also means that you&#8217;ll need to have some level of &#8220;hooks&#8221; to the Core engine.</li>
<li><strong>Policies</strong>.  Ah, Policy.  Everyone hates the word but doesn&#8217;t understand the importance of policy until they run into a policy-less situation.  In any case, the FSS policy add-on would be more akin to a scheduling engine for job processing, encrypt/decrypt, deduplication, tiering (storage tiering), etc.  It could assume responsibilities for power management as well, similar to the Dynamic Power Management (DPM) functions of VMWare. Whether this stays as an add on or moves to Core remains to be seen.</li>
</ul>
<p><span style="text-decoration:underline;"><strong>Business Continuity:</strong></span></p>
<p>Business Continuity, like Data Deduplication, is a hot topic these days.  In my mind, Business Continuity encompasses not only Disaster Recovery metrics but also data management characteristics. To that end, I&#8217;ve broken this section into 3 distinct pieces: Remote replication, local replication, and tiering.</p>
<ul>
<li><strong>Remote Replication.</strong> As the term states, this section is devoted to moving data from source FSS to target FSS.  The goal is ultimately data protection over any distance outside of the physical geography of the source array (i.e. New York City to New Jersey).  The mechanism for this replication would be either synchronous (acknowledged write commits from source/target arrays) or asynchronous (delayed ack from target array), depending on RPO/RTO SLAs.</li>
<li><strong>Local Replication</strong>. Local replication I view as being within the data center, NOC, or campus.  While the physical location might be removed somewhat, the communication would stay on dedicated high speed links (dark fibre, fibre connection, multi-fabric SAN, etc.).  Replication under these auspices would more than likely err on the side of synchronous but could be asynchronous as well.</li>
<li><strong>Tiering</strong>.  Before anyone objects, there is a method to my madness.  Typically, storage tiering would be slapped under the Extended or Specialized categories based on my diagram above.  However, think of it this way.  Moving low priority data from primary to secondary storage is a form of BC, isn&#8217;t it?  You&#8217;re moving, managing, and making available data under the auspices of a different SLA, potentially to different subsystems (i.e. Clariion to Centera), with different connectivity.  What if the Future Storage System could move data AND the communication channel from higher speed SSDs or mechanical disks on FCoE or IB to slower SATA drives using vNICs at GigE bandwidth levels?  That type of manipulation would obviously require some enormous computingcomputing capabilities (as well as potentially buffering to SSDs or high speed cache), but the end result could be completely managed data SLAs.</li>
</ul>
<p><strong>Closing Thoughts:</strong></p>
<p>A lot to chew through on this article and I hope you&#8217;ll point out the flaws in my thinking.  For the next part, I probably will dive into the Core of the OS a bit more and see what technical underpinnings would work.</p>
<p>cheers,</p>
<p>Dave</p>
<h6 class="zemanta-related-title">Related articles by Zemanta</h6>
<ul class="zemanta-article-ul">
<li class="zemanta-article-ul-li"><a href="http://www.computerworld.com/action/executivebriefings.do?command=viewExecutiveBriefingDetail&#38;contentId=9111799&#38;source=rss_topic18">SaaS Solutions for Remote Systems Management</a></li>
<li class="zemanta-article-ul-li"><a href="http://www.podtech.net/home/5241/business-continuity-and-verizon-business-global-network-readiness">Business Continuity and Verizon Business Global Network Readiness</a></li>
<li class="zemanta-article-ul-li"><a href="http://arstechnica.com/news.ars/post/20071230-solid-state-cloud-storage-on-tap-for-a-power-hungry-2008.html">Solid state, cloud storage on tap for a power-hungry 2008</a></li>
<li class="zemanta-article-ul-li"><a href="http://paragent.com/blog/?p=21">Open Source Hardware Management Software by Paragent</a></li>
<li class="zemanta-article-ul-li"><a href="http://www.linux.com/feature/121824">eCos real-time OS makes short work of building a SAN appliance</a></li>
<li class="zemanta-article-ul-li"><a href="http://www.infoworld.com/article/08/09/16/VMware_chief_says_the_OS_is_history_1.html?source=rss&#38;url=http://www.infoworld.com/article/08/09/16/VMware_chief_says_the_OS_is_history_1.html">VMware chief says the OS is history</a></li>
<li class="zemanta-article-ul-li"><a href="http://www.computerworld.com/action/article.do?command=viewArticleBasic&#38;articleId=9112458&#38;source=rss_topic68">Sun close to releasing xVM Server</a></li>
<li class="zemanta-article-ul-li"><a href="http://www.xconomy.com/boston/2008/08/25/venture-funded-consultants-at-security-innovation-show-companies-how-to-make-software-unbreakable/">Venture-Funded Consultants at Security Innovation Show Companies How to Make Software Unbreakable</a></li>
<li class="zemanta-article-ul-li"><a href="http://www.computerworld.com/action/article.do?command=viewArticleBasic&#38;articleId=9099298&#38;source=rss_topic19">The five biggest storage trends</a></li>
<li class="zemanta-article-ul-li"><a href="http://www.infoworld.com/article/08/08/26/EMC_targets_SMBs_branch_offices_with_new_lowend_storage_1.html?source=rss&#38;url=http://www.infoworld.com/article/08/08/26/EMC_targets_SMBs_branch_offices_with_new_lowend_storage_1.html">EMC targets SMBs, branch offices with new low-end storage</a></li>
<li class="zemanta-article-ul-li"><a href="http://www.theregister.co.uk/2008/08/15/brocade_fcoe/">Brocade unfurls FCoE roadmap</a></li>
<li class="zemanta-article-ul-li"><a href="http://www.infoworld.com/article/08/06/03/Nexsan_paints_SAS_greenTechworld_1.html?source=rss&#38;url=http://www.infoworld.com/article/08/06/03/Nexsan_paints_SAS_greenTechworld_1.html">Nexsan paints SAS green</a></li>
<li class="zemanta-article-ul-li"><a href="http://www.theregister.co.uk/2008/06/27/brocade_tech_day_vision_2008/">Witness the future of Brocade</a></li>
<li class="zemanta-article-ul-li"><a href="http://www.infoworld.com/article/08/04/11/Vendors-hype-new-Fibre-Channel-over-Ethernet-tech_1.html?source=rss&#38;url=http://www.infoworld.com/article/08/04/11/Vendors-hype-new-Fibre-Channel-over-Ethernet-tech_1.html">Vendors hype new Fibre Channel over Ethernet tech</a></li>
</ul>
<div class="zemanta-pixie"><a class="zemanta-pixie-a" title="Zemified by Zemanta" href="http://reblog.zemanta.com/zemified/dee80d67-90d8-491e-8ed9-63791150f5d7/"><img class="zemanta-pixie-img" src="http://img.zemanta.com/reblog_e.png?x-id=dee80d67-90d8-491e-8ed9-63791150f5d7" alt="Reblog this post [with Zemanta]" /></a></div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[What do Windows, HTML, AJAX, Flash and SMS have in common?]]></title>
<link>http://laserlike.com/2008/05/28/what-do-windows-html-ajax-flash-and-sms-have-in-common/</link>
<pubDate>Wed, 28 May 2008 05:16:47 +0000</pubDate>
<dc:creator>Mike Speiser</dc:creator>
<guid>http://laserlike.com/2008/05/28/what-do-windows-html-ajax-flash-and-sms-have-in-common/</guid>
<description><![CDATA[Before Netscape was founded, building a consumer software application usually meant building a Windo]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Before Netscape was founded, building a consumer software application usually meant building a Windows (or DOS) application.  Windows had 85%+ desktop market share at the time and Web applications did not exist.  If you wanted to reach the masses, Windows was the only game in town.  Then Netscape showed the world the power of interconnectedness + open standards.  </p>
<p>Standards adopted by the Navigator browser like HTML/CSS allowed developers and designers to quickly and easily build information-based front-ends to databases.  In the past you may have purchased <a href="http://shopping.yahoo.com/p:Microsoft%20Encarta%201997%20CD-ROM%20Software:1990477585" target="_self">Microsoft Encarta on CD-ROM</a>, but now you could visit Yahoo&#8217;s directory to find thousands of places where you could go to get so much more.  In the past, if you wanted access to news or email you probably had an AOL client for Windows with dial-up service.  Now, all of a sudden, you could get your news from CNN.com and your email from Yahoo! Mail courtesy of the same client through which you collected your encyclopedic information.  Even if you had a Macintosh or UNIX box sitting on your desk.  Unfortunately, dial-up connectivity and HTML/CSS meant that for applications (like Microsoft Excel, PowerPoint, interactive games, and instant messaging), you still needed standalone applications on your desktop.</p>
<p>The universal adoption of Javascript and XML (in major browsers) and cable modems (in the home) led to the widespread use of <a href="http://en.wikipedia.org/wiki/AJAX" target="_self">AJAX</a>.  This finally allowed browser-based applications to deliver &#8220;good enough&#8221; application performance in the browser to compete with standalone applications.  Web office applications like Google Documents, web-based instant messaging sites like Meebo, and interactive maps like Google Maps offered performance comparable to standalone clients.  On the video side, the ubiquitous deployment of Flash and cable modems is what enabled YouTube.  Without the ubiquitous deployment of Flash in the browser, YouTube would have been a failure.  </p>
<p>If you wanted to develop consumer applications for the desktop computer before AJAX, you had to develop for Windows.  Now you need to develop for AJAX.  While Windows wasn&#8217;t necessarily the best OS, it was the most pervasive.  While you may be able to develop a better stand-alone web client that can do everything that AJAX can do and more (not hard), chances are that your client is not and will not be pervasive.  <span style="text-decoration:underline;">The only time it makes sense to develop a client is when you are doing something outside the browser security model</span> &#8212; controlling PC hardware like a webcam or microphone, for example.  Or tracking a user&#8217;s surfing patterns and making recommendations.   </p>
<p>So what does all of this have to do with SMS?  While Apple is about to launch their developer platform for iPhone, it will capture a tiny fraction of the<a href="http://en.wikipedia.org/wiki/Mobile_phone" target="_self"> 3.3 billion mobile subscribers</a> worldwide &#8212; even if Apple hits their goal of 10MM units sold by the end of 2008, that is a drop in the bucket compared to<a href="//www.portioresearch.com/opinion_MMF.html" target="_self"> 2 billion SMS enabled handsets</a> in the market today!  Potential mobile entrepreneurs would be well served by learning from the PC and web revolutions &#8212; build your service on the back of a ubiquitous technology.</p>
<p>The only ubiquitous technology on mobile phones today is SMS.  Yet, with the exception of <a href="http://twitter.com/" target="_self">Twitter</a>, most firms are building solutions that are leveraging &#8220;superior&#8221; technology that lacks anything close to ubiquity.  That&#8217;s a big mistake.</p>
<p><strong>Idea:  Build third party consumer services based entirely on SMS.</strong></p>
<p>I will toss out a few ideas on how SMS might be leveraged, but I&#8217;m sure that there are much better ideas out there.  I would love to hear from you have any ideas or know of companies doing something interesting with SMS (in the comments or directly at mike [at] shv [dot] com).  </p>
<p><em>1.  SMS Groups.</em></p>
<p>Today, more people use SMS to communicate than web-based email.  SMS is already email and IM all in one, so let&#8217;s focus on a different component of communications&#8230; One significant source of web-based email traffic today is group mailing lists.  Yahoo! Groups, MSN Groups, Google Groups &#8212; these products are basically very simply systems to manage communications (often in email).  Twitter is going after the status-casting opportunity, but why not create an extremely simple SMS Groups product?</p>
<p>On registration, have users import their address books WITH mobile phone numbers.  Have them group their friends into &#8220;family&#8221;, &#8220;theguys&#8221;, &#8220;jacksfriends&#8221;, etc.  This weekend I went to the playground after I hit Starbucks with the kids.  It would have been great to be able to send an SMS to some number with &#8220;jacksfriends going to the playground now, see you there.&#8221;  Instead I had to call each person and have a discussion about the fact that I was taking the kids to the playground.  A simple groups product with a total focus on SMS could be very interesting.</p>
<p><em>2.  SMS as Command Line Interface (CLI) for the Web.</em></p>
<p>Back in the DOS days, you would ask your computer to do certain tasks with very specific commands from a command line interface.  Why not build a web services abstraction layer with short SMS commands and SMS delivery?  Once a user learns basic commands, she could use SMS to browse the web for content much as users previously used commands to browse a hard disk or control an application with DOS.</p>
<p>For example, we could aggregate information on local restaurants from various services through web services.  We would then allow users to invoke these services by training them on how to use very simple commands over SMS.  This approach is similar to what <a href="http://www.google.com/m/products/sms" target="_self">Google SMS</a> does, but the idea is to do it for more than just Google search.  And to have a common SMS interface through which users could interact with the entire web.</p>
<p>I&#8217;m a big fan of Twitter and I would love to see much more innovation around SMS.  The iPhone is great and, as a consumer, I appreciate that Steve Jobs is pushing the industry to move forward.  But between today and the day when the iPhone is ubiquitous (if that day ever comes), SMS is a good place to start when thinking about building a mobile startup.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Comando úteis do CMD.EXE (pseudo DOS)]]></title>
<link>http://junk4all.wordpress.com/2008/03/23/comando-uteis-do-cmdexe-pseudo-dos/</link>
<pubDate>Mon, 24 Mar 2008 01:43:49 +0000</pubDate>
<dc:creator>Victorino</dc:creator>
<guid>http://junk4all.wordpress.com/2008/03/23/comando-uteis-do-cmdexe-pseudo-dos/</guid>
<description><![CDATA[Depois que você está no CMD do Windows XP e já digitou um comando, como por exemplo, dir, você pode ]]></description>
<content:encoded><![CDATA[Depois que você está no CMD do Windows XP e já digitou um comando, como por exemplo, dir, você pode ]]></content:encoded>
</item>
<item>
<title><![CDATA[Почему работа в командной строке - умирающее искусство?]]></title>
<link>http://fatune.wordpress.com/2008/02/06/console/</link>
<pubDate>Wed, 06 Feb 2008 06:09:14 +0000</pubDate>
<dc:creator>fatune</dc:creator>
<guid>http://fatune.wordpress.com/2008/02/06/console/</guid>
<description><![CDATA[На днях на блоге PerryGeo обнаружил сей замечательный пост. Думаю, он актуален и для многих отечеств]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><blockquote><p>На днях на блоге PerryGeo обнаружил <a href="http://www.perrygeo.net/wordpress/?p=105" target="_blank">сей замечательный пост</a>. Думаю, он актуален и для многих отечественных ГИС (и не только) пользователей. Поэтому, ниже предлагаю вольный перевод:</p></blockquote>
<p>К сожалению, большинство пользователей ГИС довольно далеки от командной строки (CLI &#8211; command line interface). Порой, даже опытные пользователи, оказываясь один на один с командной строкой, испытывают шок. Насквозь оконные интерфейсы нынешних лидеров ГИС-рынка, облекающие любую операцию в ГУЕвую оболочку (GUI &#8211; graphical user interface), только способствуют этому (тех кто еще помнит как работать в командной строке ESRI Arc/Info уже называют &#8220;старая гвардия&#8221;). К тому же, у пользователей XP и Vista отсутствует доступ к командной строке DOS. У Linux-пользователей дела с этим обстоят по-лучше, но разница уже не так велика, по причине наступления таких дистрибутивов, как Ubuntu (с через чур &#8216;дружелюбным&#8217; интерфейсом).<br />
Так что же такого ужасного в командной строке? Почему считается, что командная строка сложнее графического интерфейса? Я пришел к выводу что в некоторых случаях все совсем наоборот &#8211; набрать что-то и получить назад ответ проще простого! К тому же, создается ощущение полного контроля за компьютером (что, на самом деле правда). Компьютер всегда выполняет только те приказания, которые вы ему даете, каким интерфейсом вы бы не пользовались (GUI или CLI). Вот только GUI не концентрируется на мелочах, поэтому, вам не обязательно точно знать что вы приказали компьютеру. Такая легкость дается ценой многих важных факторов.<!--more--> Судите сами:</p>
<ul>
<li><b> Автоматизация.</b> Представьте, что вы осуществляете мониторинг данных, и должны обрабатывать их каждый час. Неужели вы будете сидеть за компьютером все 24 часа в сутки?</li>
<li><b> Воспроизводимость.</b> Как только я показываю кому-нибудь операцию, осуществляемую через командную строку, первое, что мне говорят (ну, или хотя бы думают) &#8211; &#8220;Командная строка &#8211; это слишком сложно&#8221;. Взгляните на следующую команду конвертации картинки из .tif формата в формат ERDAS .img (HFA):<br />
<blockquote><p>cd /data/images<br />
gdal_translate -of HFA aerial.tif aerial.tif.img</p></blockquote>
<p>Вы, вероятно, спросите, &#8220;А почему бы не воспользоваться графическим интерфейсом, Кликнуть пару кнопок, и получить результат&#8221;? Возможно, но повторите это для 2000 картинок. В командной строке вам надо набрать всего лишь:</p>
<blockquote><p>cd /data/images<br />
for i in *.tif; do<br />
gdal_translate -of HFA $i $i.img;<br />
done</p></blockquote>
</li>
<li><b>Протоколирование</b> (документирование). В ГИС анализе нет ничего важнее чем документирование работы. Вообразите напряженные пять часов работы. Все уже должно быть готово к 2 часам&#8230; наконец, работа закончена, теперь нужен протокол работ &#8211; какие процедуры и методы, и как были применены. В CLI вы просто копируете команды из терминала, или смотрите историю введенных команд. Вы можете сохранить историю в простом текстовом файле, и спустя месяц, вновь повторить те же шаги. В GUI вам надо запомнить каждый клик, каждую вкладку, каждую опцию, каждое действие. Часто, это предполагает наличие каких-то дополнительных пояснений, скриншотов и т.п., которые, конечно же, автоматически не сохранялись. И, конечно же, когда на следующий день вдруг понадобиться выполнить те же действия, но на другом материале, ни о каком автоматизированном повторении работы и речи быть не может.</li>
<li><b> Доступность.</b> В командной строке используется простой &#8220;плоский&#8221; (plain) текст без форматирования. Вы можете распечатать его, и изучить по дороге на работу. Можете отправить его по электронной почте коллегам. Можете использовать cvs для отслеживания изменений. Вы можете передать большой объем информации без необходимости сидеть, и записывать каждую процедуру шаг за шагом, клик за кликом в графическом интерфейсе.</li>
<li><b> Точность.</b> Слишком часто бывает, что GUI-дизайнеры &#8220;перемудрили&#8221; с интерфейсом в приложении, считая что пользователю не нужно знать ничего кроме необходимого минимума. Проводя аналогию с машиной, можно сказать что вы садитесь за руль, поворачиваете ключ, давите на педаль и едете. И совершенно не заботитесь о том, что происходит под капотом. Но иногда бывает нужно выполнить специфическую процедуру, о которой дизайнеры GUI даже не догадывались. Интерфейс командной строки не связывает ваши руки (так как выполняет именно то, что вы говорите), он осуществляет более точное взаимодействие с компьютером, и гораздо более удобен при отладке сложной проблемы.</li>
</ul>
<p>Так что не думайте что все окна содержат волшебную кнопку, нажав на которую будет сделана работа. Во многих случаях использование командной строки более эффективно, и даже необходимо.</p>
<p>Далее, автор советует почитать книгу Нила Стивенсона поосновам работы в конслои. Она, разумеется на английском, так что от себя добавляю несколько ссылок на русскоязычные ресурсы по теме:<br />
<a href="http://zero.kanet.ru/site/index.php?page=15">http://zero.kanet.ru/site/index.php?page=15</a> &#8211; командная строка Linux<br />
<a href="http://heap.altlinux.org/alt-docs/modules/unix_base_admin.dralex/ch02.html">http://heap.altlinux.org/alt-docs/modules/unix_base_admin.dralex/ch02.html</a> командная строка UNIX</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[La commande shell 'find'inetrafec]]></title>
<link>http://pvergain.wordpress.com/2007/07/05/la-commande-shell-find/</link>
<pubDate>Thu, 05 Jul 2007 08:34:48 +0000</pubDate>
<dc:creator>patrick</dc:creator>
<guid>http://pvergain.wordpress.com/2007/07/05/la-commande-shell-find/</guid>
<description><![CDATA[Voilà des exemples d&#8217;utilisation de la commande &#8216;find&#8217; qui me sont bien utiles qua]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Voilà des exemples d&#8217;utilisation de la commande <a title="La commande 'find'" href="http://en.wikipedia.org/wiki/Find">&#8216;find&#8217;</a> qui me sont bien utiles quand j&#8217;établis un &#8220;état des lieux&#8221; sur une application:</p>
<p><span style="text-decoration:underline;">Rappel</span>: La commande <strong>find</strong> est récursive, c&#8217;est à dire où que vous tapiez, elle va aller scruter dans les répertoires et les sous répertoires de chaque répertoire et ceci de façon récursive.</p>
<p>- <a title="La commande 'find'" href="http://en.wikipedia.org/wiki/Find">http://en.wikipedia.org/wiki/Find</a> (<em>&#8220;The <code><strong>find</strong></code> program is a <a title="Search utility" href="http://en.wikipedia.org/wiki/Search_utility">search utility</a>, mostly found on <a title="Unix-like" href="http://en.wikipedia.org/wiki/Unix-like">Unix-like</a> platforms. It searches through one or more <a title="Directory (file systems)" href="http://en.wikipedia.org/wiki/Directory_%28file_systems%29">directory</a> <a title="Tree (computing)" href="http://en.wikipedia.org/wiki/Tree_%28computing%29">tree(s)</a> of a <a title="Filesystem" href="http://en.wikipedia.org/wiki/Filesystem">filesystem</a>, locating <a title="Computer file" href="http://en.wikipedia.org/wiki/Computer_file">files</a> based on some user-specified criteria. By default, <code>find</code> returns all files below the current <a title="Working directory" href="http://en.wikipedia.org/wiki/Working_directory">working directory</a>. Further, <code>find</code> allows the user to specify an action to be taken on each matched file. Thus, <span style="text-decoration:underline;"><strong>it is an extremely powerful program</strong></span></em><em> for applying actions to many files. It also supports <a title="Regular expression" href="http://en.wikipedia.org/wiki/Regular_expression">regexp</a> matching.&#8221;)</em></p>
<p>Ici cela s&#8217;applique à une application Java:</p>
<blockquote><p>// Pour compter le nombre de lignes java<br />
find . -name *.java -exec cat  {} \; &#124; wc -l</p>
<p>// Pour avoir la liste des fichiers java : ça c&#8217;est du classique<br />
find . -name *.java -print</p>
<p>// Pour effacer tous les fichiers core situés sous mon répertoire :<br />
find . -name core -exec rm {} \;</p>
<p>// pour avoir une demande de confirmation avant l&#8217;exécution de rm, vous pouvez taper :<br />
find . -name core -ok rm {}\;</p>
<p>// Pour connaître les derniers fichiers modifiés dans les 3 derniers jours dans toute l&#8217;arborescence (/), vous devez taper :<br />
find / -mtime 3 -print</p>
<p>// Pour connaître dans toute l&#8217;arborescence, les fichiers dont la taille dépasse 1Mo (2000 blocs de 512Ko), vous devez taper :<br />
find / -size 2000 -print</p>
<p>// Vous pouvez chercher dans toute l&#8217;arborescence, les fichiers ordinaires appartenant à reza, dont la permission est fixée à 755, on obtient :<br />
find / -type f -user reza -perm 755 -print</p>
<p>// rechercher dans le répertoire courant tous les fichiers normaux (sans les répertoires, fichiers spéciaux), et rechercher dans ces fichiers tous ceux contenant la chaîne toto.<br />
find . -type f -print &#124; xargs grep toto</p>
<p>// Exemple plus sophistiqué<br />
find . -name *.java &#124; xargs egrep  -e &#8220;msg&#8221;  &#124; egrep -e &#8220;\&#8221;.+\&#8221;"&#124; sort&#124; uniq &#62; aMsgJava.txt</p>
<p>// Recherche de la chaîne &#8220;DB&#8221; dans des programmes php<br />
find . -name *.php -print &#124; xargs grep DB</p>
<p>// supprimer des répertoires subversion .svn<br />
find . -name &#8220;.svn&#8221; -exec chmod -R +w {} \;<br />
find . -name &#8220;.svn&#8221; -exec rm -R {} \;</p></blockquote>
<p><span style="text-decoration:underline;">Liens:</span></p>
<ul>
<li>- <a title="command line" href="http://www.commandlinefu.com/commands/browse" target="_blank">http://www.commandlinefu.com/commands/browse </a>(&#8216;<strong>commandlinefu.com</strong> is the place to record those command-line gems that you return to again and again. Delete that bloated snippets file you&#8217;ve been using and share your personal repository with the world.           That way others can gain from your <abbr title="Command-line interface">CLI</abbr> wisdom and you from theirs too.  All commands can be commented on, discussed and          voted up or down.&#8217;)
<ul>
<li><a title="command lines sharing" href="http://commandlinefu.uservoice.com/" target="_blank">http://commandlinefu.uservoice.com/</a>(&#8216;If you have a new feature suggestion or find a bug, please get in touch via <a title="cli" href="http://commandlinefu.uservoice.com/" target="_blank">http://commandlinefu.uservoice.com/</a>&#8216;)</li>
</ul>
</li>
</ul>
<ul>
<li>- <a title="Shell informatique" href="http://fr.wikipedia.org/wiki/Shell_%28informatique%29">http://fr.wikipedia.org/wiki/Shell_%28informatique%29</a> (&#8230;&#8221;Les systèmes d&#8217;exploitation de type <a title="Unix" href="http://fr.wikipedia.org/wiki/Unix">Unix</a>, <a title="GNU/Linux" href="http://fr.wikipedia.org/wiki/GNU/Linux">GNU/Linux</a> par exemple, disposent le plus souvent d&#8217;un shell. Celui-ci est utilisable en conjonction avec un <a title="Terminal informatique" href="http://fr.wikipedia.org/wiki/Terminal_informatique">terminal</a> (souvent virtuel). A l&#8217;origine, l&#8217;<a title="Interpréteur" href="http://fr.wikipedia.org/wiki/Interpr%C3%A9teur">interpréteur</a> de commandes par défaut était <a title="Tcsh" href="http://fr.wikipedia.org/wiki/Tcsh">tcsh</a> (et c&#8217;était le <a title="Bourne shell" href="http://fr.wikipedia.org/wiki/Bourne_shell">Bourne_shell</a> sur les Unix originels), mais aujourd&#8217;hui <a title="Bash" href="http://fr.wikipedia.org/wiki/Bash">Bash</a> est le plus répandu. Sur les postes de travail, les shells (environnements) graphiques <a title="KDE" href="http://fr.wikipedia.org/wiki/KDE">KDE</a> et/ou <a title="Gnome" href="http://fr.wikipedia.org/wiki/Gnome">Gnome</a> sont les plus usités. Il existe d&#8217;autres interpréteurs de commandes, notamment <a title="Zsh" href="http://fr.wikipedia.org/wiki/Zsh">zsh</a> et <a class="new" title="Rc (shell)" href="http://fr.wikipedia.org/w/index.php?title=Rc_%28shell%29&#38;action=edit">rc</a>.&#8221;)</li>
</ul>
<ul>
<li>- <a title="Bourne Again Shell (bash)" href="http://fr.wikipedia.org/wiki/Bash">http://fr.wikipedia.org/wiki/Bash</a> (<strong>&#8230;&#8221;Bash</strong>, acronyme de <strong>Bourne-again shell</strong>, est l&#8217;<a title="Shell (informatique)" href="http://fr.wikipedia.org/wiki/Shell_%28informatique%29">interprète de commandes</a> <a title="Logiciel libre" href="http://fr.wikipedia.org/wiki/Logiciel_libre">libre</a> du projet <a title="GNU" href="http://fr.wikipedia.org/wiki/GNU">GNU</a>. Son nom est un jeu de mots (<em>Bourne again</em> / <em>born again</em>, « né de nouveau » ou encore « réincarné ») sur le <em>shell</em> historique d&#8217;<a title="Unix" href="http://fr.wikipedia.org/wiki/Unix">Unix</a>, le <a title="Bourne shell" href="http://fr.wikipedia.org/wiki/Bourne_shell">Bourne shell</a>. Basé sur ce dernier, il apporte de nombreuses améliorations, provenant notamment du <a title="Korn shell" href="http://fr.wikipedia.org/wiki/Korn_shell">Korn shell</a> et du <a title="Csh" href="http://fr.wikipedia.org/wiki/Csh">C shell</a>.Son auteur original est <a class="new" title="Brian Fox" href="http://fr.wikipedia.org/w/index.php?title=Brian_Fox&#38;action=edit">Brian Fox</a> de la <a title="Free Software Foundation" href="http://fr.wikipedia.org/wiki/Free_Software_Foundation">Free Software Foundation</a>, relayé plus tard par <a class="new" title="Chet Ramey" href="http://fr.wikipedia.org/w/index.php?title=Chet_Ramey&#38;action=edit">Chet Ramey</a>. Le <a title="Bourne shell" href="http://fr.wikipedia.org/wiki/Bourne_shell">Bourne shell</a> original fut écrit par <a class="new" title="Steve Bourne" href="http://fr.wikipedia.org/w/index.php?title=Steve_Bourne&#38;action=edit">Steve Bourne</a>.Bash est un <a title="Logiciel libre" href="http://fr.wikipedia.org/wiki/Logiciel_libre">logiciel libre</a> publié sous licence <a title="Licence publique générale" href="http://fr.wikipedia.org/wiki/Licence_publique_g%C3%A9n%C3%A9rale">GPL</a>. Il est l&#8217;<a title="Interprète (informatique)" href="http://fr.wikipedia.org/wiki/Interpr%C3%A8te_%28informatique%29">interprète</a> par défaut sur de nombreux <a title="Unix" href="http://fr.wikipedia.org/wiki/Unix">Unix</a> libres, notamment sur les systèmes <a title="GNU" href="http://fr.wikipedia.org/wiki/GNU">GNU</a>/<a title="Linux" href="http://fr.wikipedia.org/wiki/Linux">Linux</a>. C&#8217;est aussi le shell par défaut de <a title="Mac OS X" href="http://fr.wikipedia.org/wiki/Mac_OS_X">Mac OS X</a> et il a été porté sous <a title="Microsoft Windows" href="http://fr.wikipedia.org/wiki/Microsoft_Windows">Windows</a> par le projet <a title="Cygwin" href="http://fr.wikipedia.org/wiki/Cygwin">Cygwin</a>&#8220;)</li>
</ul>
<ul>
<li>- <a title="Commandes unix" href="http://fr.wikipedia.org/wiki/Commandes_Unix">http://fr.wikipedia.org/wiki/Commandes_Unix</a> (Les <a title="Système d'exploitation" href="http://fr.wikipedia.org/wiki/Syst%C3%A8me_d%27exploitation">systèmes d&#8217;exploitation</a> de type <a title="UNIX" href="http://fr.wikipedia.org/wiki/UNIX">UNIX</a> offrent à leurs utilisateurs des centaines de commandes qui font de la <a title="Terminal informatique" href="http://fr.wikipedia.org/wiki/Terminal_informatique">console</a> un outil très pratique et très puissant. Certaines d&#8217;entre elles sont fournies directement par le <em><a title="Shell (informatique)" href="http://fr.wikipedia.org/wiki/Shell_%28informatique%29">shell</a></em>, alors que d&#8217;autres sont des <a title="Fichier exécutable" href="http://fr.wikipedia.org/wiki/Fichier_ex%C3%A9cutable">exécutables</a> situés dans <em>/bin</em>, <em>/usr/bin</em>, <em>/usr/local/bin</em> ou un autre <a title="Répertoire (informatique)" href="http://fr.wikipedia.org/wiki/R%C3%A9pertoire_%28informatique%29">répertoire</a> contenant des exécutables et listé dans la <a title="Variable d'environnement" href="http://fr.wikipedia.org/wiki/Variable_d%27environnement">variable d&#8217;environnement</a> <tt><a title="PATH" href="http://fr.wikipedia.org/wiki/PATH#Sous_Unix.2FLinux">PATH</a></tt>. La distinction entre /bin et /usr/bin ne relève que de raisons historiques propres aux <a title="PDP-11" href="http://fr.wikipedia.org/wiki/PDP-11">PDP/11</a> (/bin était placé sur un <a title="Tambour (mémoire)" href="http://fr.wikipedia.org/wiki/Tambour_%28m%C3%A9moire%29">tambour magnétique</a> d&#8217;accès rapide et de petite taille, /usr/bin sur un disque normal ; sur beaucoup de systèmes actuels, il s&#8217;agit d&#8217;un lien vers le même système de fichiers.)</li>
</ul>
</div>]]></content:encoded>
</item>

</channel>
</rss>
