127 private links
Fluency on the command line is a skill often neglected or considered arcane, but it improves your flexibility and productivity as an engineer in both obvious and subtle ways. This is a selection of notes and tips on using the command-line that we've found useful when working on Linux. Some tips are elementary, and some are fairly specific, sophisticated, or obscure. This page is not long, but if you can use and recall all the items here, you know a lot.
Translate Shell (formerly Google Translate CLI) is a command-line translator powered by Google Translate (default), Bing Translator, Yandex.Translate, and Apertium.
It can also be used like an interactive shell; input the text to be translated line by line. It can translate a file or a website, and has a text-to-speech feature.
This is really the first #cli-app listed here that is written in AWK :-)
RetroGames.cz deals with archiving and online emulation of old games for operating system MS-DOS and popular game consoles Atari 2600, Atari 7800, Nintento Entertainment System (NES), Super Nintendo Entertainment System (SNES), Game Boy (GB), Game Gear (GG), Sega SG-1000, Sega Master System (SMS), Sega Mega Drive (Genesis) and Nintendo 64.
Today our database contains 1239 different games from the eighties and nineties. 297 of them are available in two or more versions. Together we host 1758 online games and we are still adding new ones. All games are emulated in Flash, in Java or by JavaScript and with a few exceptions you probably do not distinguish them from the original versions. As a bonus we offer download of 1046 original game manuals in pdf format. At RetroGames.cz can be found such legends as Donkey Kong, Super Mario, Sonic, Pac-Man, Galaxian, Prince of Persia, Pitfall and many others. Anyway, if you love old games as much as the authors of this website, you're on the right place.
Have fun ;-)
This is a long-term project to decode all of the GNU coreutils in version 8.3.
This resource is for novice programmers exploring the design of command-line utilities. It is best used as an accompaniment providing useful background while reading the source code of the utility you may be interested in. This is not a user guide -- Please see applicable man pages for instructions on using these utilities.
Vim Awesome wants to be a comprehensive, accurate, and up-to-date directory of Vim plugins.
Many recent Vim plugins are announced on Hacker News or specialized boards, and have since become widely used. But how does a new user find out about these? We wanted to solve that problem and others with Vim Awesome — an open-sourced community resource for discovering new and popular Vim plugins .
In order to successfully work with the Linux sed editor and the awk command in your shell scripts, you have to understand regular expressions or in short regex. Since there are many engines for regex, we will use the shell regex and see the bash power in working with regex.
First, we need to understand what regex is, then we will see how to use it.
Table of contents include:
What is regex, Types of regex, Define BRE Patterns, Special Characters, Anchor Characters, The dot Character, Character Classes, Negating Character Classes, Using Ranges, Special Character Classes, The Asterisk, Extended Regular Expressions, The question mark, The Plus Sign, Curly Braces, Pipe Symbol, Grouping Expressions, Practical examples, Counting Directory Files, Validating E-mail Address.
This web site contains notes and materials for an advanced elective course on statistical forecasting that is taught at the Fuqua School of Business, Duke University. It covers linear regression and time series forecasting models as well as general principles of thoughtful data analysis.
The time series material is illustrated with output produced by Statgraphics, a statistical software package that is highly interactive and has good features for testing and comparing models, including a parallel-model forecasting procedure that I designed many years ago.
The material on multivariate data analysis and linear regression is illustrated with output produced by RegressIt, a free Excel add-in which I also designed. However, these notes are platform-independent. Any statistical software package ought to provide the analytical capabilities needed for the various topics covered here.
CLIs are a fantastic way to build products. Unlike web applications, they take a small fraction of the time to build and are much more powerful. With the web, you can do whatever the developer programmed. With CLIs, you can easily mash-up multiple tools together yourself to perform advanced tasks. They require more technical expertise to use, but still work well for admin tasks, power-user tasks, or developer products.
At Heroku, we’ve come up with a methodology called the 12 factor app. It’s a set of principles designed to make great web applications that are easy to maintain. In that spirit, here are 12 CLI factors to keep in mind when building your next CLI application. Following these principles will offer CLI UX that users will love.
We’ve also built a CLI framework called oclif that is designed to follow these principles to build great CLIs in Node.
For quite some time I’ve wanted to record a new video talking about code comments for my "writing system software" series on YouTube. However, after giving it some thought, I realized that the topic was better suited for a blog post, so here we are. In this post I analyze Redis comments, trying to categorize them.
Along the way I try to show why, in my opinion, writing comments is of paramount importance in order to produce good code, that is maintainable in the long run and understandable by others and by the authors during modifications and debugging activities.
Examples of Python and Rust code to illustrate the concept of ownership.
Very good tutorial.
Adapted from http://www.possibility.com/Cpp/CppCodingStandard.html and NetBSD's style guidelines.
Brian Kernighan
Princeton University
July 13, 2009
Disclaimer: this is a very nerdy blog entry. It is about lightweight markup languages and why I think that Org-mode is the best lightweight markup language for many use-cases. And with lightweight markup language, I do mean the syntax, the way you express headings, lists, font variations such as bold face or italic, and such things.
Org-Mode:
- Is Intuitive, Easy to Learn and Remember
- Is Standardized
- Is Consistent
- Can Be Easily Typed
- Makes Sense Outside of Emacs
- Has Excellent Tool Support (If You Want)
ranger
is a console file manager with VI key bindings. It provides a minimalistic and nice curses interface with a view on the directory hierarchy. It ships with rifle
, a file launcher that is good at automatically finding out which program to use for what file type.
Features
- UTF-8 Support (if your python copy supports it)
- Multi-column display
- Preview of the selected file/directory, including images
- Common file operations (create/chmod/copy/delete/...)
- Renaming multiple files at once
- VIM-like console and hotkeys
- Automatically determine file types and run them with correct programs
- Change the directory of your shell after exiting ranger
- Tabs, bookmarks, mouse support
The history and use of parentheses in programming languages, from the beginning of programming to the present day.
Early programming languages only had round parentheses, but later keyboards added brackets and braces.
script
is an open source tool that makes a typescript of everything displayed on your terminal. It is useful for students who need a hardcopy record of an interactive session as proof of an assignment, as the typescript file can be printed out later with lpr.
Everything between the script and the exit command is logged to the file. This includes the confirmation messages from script itself (unless the -q flag is used). Everything between the script and the exit command is logged to the file. This includes the confirmation messages from script itself.
Recorded shell sessions can be shared using online services. The advantage of sessions recorded in this format from the usual screencasts is that shell instructions can be easily copy/pasted from the player screen.
Useful command:
script --timing=time.txt script.log
and to replay
scriptreplay --timing=time.txt script.log
See also the nice -d
(divisor, speeds up playback) and -m
(max delay in playback) options for replay.