Author Image 開放原始碼技術文件網

C 語言、Objective-C、Golang、資料結構、網頁程式

Unix is like carpenters' toolkits; you need to learn them before you really enjoy them. Self-help learning is rewarding and amusing, which also applies to the learning of Unix. Basically, there are three levels of sources to learn Unix: Books about Unix (or Linux). Online webpages, blogs, forums or other web resources System manuals. The list is roughly ordered by the degree of difficulty. We’ll explain these sources one by 繼續閱讀

I was assigned by my professor to download some RNA sequences data to my own computer for backup purpose, because the original data server will clean these data. These data are dozens gigabytes in size, but the connection speed of the network in my house is not fast. Therefore, I chose lftp to speed up the downloading rate by parallel downloading. lftp is a sophisticated ftp/http client and a file 繼續閱讀

Sometimes there are no available desktop or laptop running Unix or Linux, but we miss these utilities on Unix. Thanks the efforts of numerous communities and companies; the utilities of Unix are ported to Windows in different projects. We’ll introduce some of them. Cygwin Cygwin is a large collection of GNU and open source tools and a simulated POSIX layer on Windows. You may think Cygwin a self-contained mini Unix 繼續閱讀

Instead of single application for a proprietary file format, Unix utilities manage text streams. Text streams means not only text files but also command line inputs and outputs. Unix comes with several handy text processing utilities. These tools co-operates well with text streams. Therefore, you should save your documents in plain text formats whenever possible. Here we briefly introduce some of them. Before we jump into these utilities, let’s look 繼續閱讀

Many files on Unix are plain text files. Some examples are text files, markup language files, LaTeX files, source code, Makefiles, and configuration files. Unix utilities also works better with text files. Besides, proper editors help us editing text files productively and effectively. Emacs and Vim are the two most famous editors in Unix world. If you want to enjoy good user experiences on Unix, you may start with Vim 繼續閱讀

Unix utilities seem arcane and ancient; however, some people still admire them, whereas mouses and touch screens are ubiquitous. By Unix Power Tools, Oreilly, Unix is rather a hacker’s toolbox than a platform to run application program. You can still access Unix interfaces with buttons, menus and windows, but the real power of Unix is beneath the command line. You do not need to be a programmer or geek to 繼續閱讀

Sometimes we want to browse online document for the usages of Perl subroutines or modules. It is boringly repetitive to open the browser and key in the keywords. Is there any way to automate the process? With some tricks, you can open online documents by hotkeys. You may check this original Emacs script to utilize is a web service providing shortened url for online Perl documents and Perl 繼續閱讀

The Entrez Programming Utilities are a interface to Entrez query and database system at the National Center for Biotechnology Information (NCBI). With E-Utilities, we can write programs to query NCBI databases. Since the interface is a fixed URL syntax, we can query NCBI databases in any programming language. Here we demo a Perl script to query PubMed and filter the result with regular expression. The program is placed on Github. 繼續閱讀

In my [previous post]({{ “/perl/prolog/2014/09/01/perl-cross-prolog-in-ai-prolog/” | prepend: site.baseurl }}), I introduced AI::Prolog, a Prolog engine written in Perl. AI::Prolog is easy to use; however, the speed may be not satisfying. Language::Prolog::Yaswi refers to Yet Another interface to SWI-Prolog; the performance of Language::Prolog::Yaswi is better than that of AI::Prolog. Before using Yaswi, You need a SWI-Prolog complier in your system. You can get it from SWI-Prolog website. First, you need to 繼續閱讀

Perl programming can be done in imperative, objective and functional styles. However, Perl lacks direct support in logic programming. Prolog is a logic programming language, popular in the fields of natural language processing and artificial intelligence. AI::Prolog is where Perl and Prolog cross. AI::Prolog is a Prolog compiler written purely in Perl and, optionally, comes with aiprolog, a interactive Prolog interface. The module is easy to use if you know 繼續閱讀