recentpopularlog in
« earlier  
Snapper - ArchWiki
Snapper is a tool created by openSUSE's Arvin Schnell that helps with managing snapshots of Btrfs subvolumes and thin-provisioned LVM volumes. It can create and compare snapshots, revert between snapshots, and supports automatic snapshots timelines.
snapshot  backup 
3 days ago
Automated Folder Backup Shell-Script
This simple unix shell script automatically creates backups of a specific folder at regular hourly, nightly, weekly, and monthly intervals.
shell  script  backup  automation  snapshot 
4 days ago
Xplanet was inspired by Xearth, which renders an image of the earth into the X root window. All of the major planets and most satellites can be drawn, similar to the Solar System Simulator. A number of different map projections are also supported, including azimuthal, Lambert, Mercator, Mollweide, orthographic, and rectangular.
freebsd  x11  xorg 
8 days ago
[ This is mostly from 1988-1990 by Rayan Zachariassen, some additional notes by Matti Aarnio, 1994-2005 ]

What is this?
This is a package that implements an internet message transfer agent called ZMailer. It is intended for gateways or mail servers or other large site environments that have extreme demands on the abilities of the mailer. It was motivated by the problems of the Sendmail design in such situations.

ZMailer is intended and designed as a multi-protocol mailer. The only protocol supported in this distribution is RFC822 (and variations).

In the current era of SPAM plagues, the ZMailer has also fairly good mechanisms for SMTP input time analysis of the messages; both realtime DNS lookups, and static table analysis methods exists.
mailserver  smtp  mta 
8 days ago
Review: Sendmail
Sendmail rewrites the envelopes and headers of messages as it processes them.

This is because it was initially designed to cope with a diverse set of message formats and mail transports, and so required the ability to translate envelopes and headers from one format to another as mail was routed from one mail system to another. Nowadays, this mechanism is unnecessary. Indeed, an MTA that rewrites headers is frowned upon as a bad thing, because more often than not it obscures actual operation and hampers problem diagnosis. It also causes problems of its own (such as the conversion of names to "canonical" form and back altering the headers of messages that are in transit through an MTS relay that is using Sendmail). Unfortunately, Sendmail's rewriting cannot be turned off, because the "canonicalisation" and the processing of "rulesets" are an integral part of the design.
sendmail  mailserver  mta  unix  smtp 
8 days ago
Unix Mail Transport Systems reviewed by JdeBP
Unix Mail Transport Systems reviewed by JdeBP
There are various MTSs for Unix. They can be broadly grouped into two categories:

* Single, vast, monolithic, set-UID root, binaries:
- smail,
- exim, and
- Sendmail.

* Multiple programs, with individual responsibility for separate tasks:
- qmail,
- Postfix,
- MMDF, and
- ZMailer.
sendmail  mailserver  email  unix  smtp  mta 
8 days ago
Frequently Given Answers written by JdeBP
Many people refer to "Frequently Asked Questions" documents. But they are missing the point. The point of such documents is not the questions. If one wanted to read the questions, one could simply read the discussion forum concerned. After all, the questions are posted there frequently.

The point of the documents is the answers. The documents contain the answers that people would otherwise find themselves giving over and over again. The idea is that rather than laboriously compose and post the same answers repeatedly, people can refer the questioners to a single document with pre-prepared answers.

So really people should be talking about Frequently Given Answers.
8 days ago
A lot of hardware still uses serial, and not just industrial stuff | Hacker News
Posted on Jan 27, 2017.

drvdevd on Jan 27, 2017 [-]
Isn't there something like, just one company in the world that makes 95% of all USB to Serial chips?

tyingq on Jan 27, 2017 [-]
There are several. FTDI, Prolific, WCH (CH340)...others as well.

It's a mess at the moment, because there are unauthorized clones of both FTDI and Prolific, and both companies release drivers that purposefully don't work (or worse...brick them) on the clones. But, there's not really a way for the end buyer to know for sure they are buying the real thing.

Animats on Jan 27, 2017 [-]
The SiLabs CP2102N is useful for serial to parallel. It will talk to Linux with the standard Linux serial driver, although you need a free Windows program from SiLabs if you want to reconfigure it. (This is needed only for unusual applications.)

I use them because they'll go down to 45 baud for antique Teletype machines. They're popular for Arduino applications, and there are lots of cheap breakout boards with 0.100 pins for Arduino interfacing.

i336_ on Jan 27, 2017 [-]
Interesting. I'd gotten the impression the FT232 was "rock solid" and filed them away as "they're good, use them", but that was before the bricking incident, and now I'm not really sure anymore.

I guess on the surface the big thing I really like is device differentiation. Do CP2102Ns have unique serial numbers, or can that free utility burn in info I can use to differentiate?

Going a bit deeper, can I bitbang with it?

Animats on Jan 28, 2017 [-]
You can set vendor ID, product ID, product string, serial string, release version, and max power requested. "Manufacturer string" is set to "Silicon Labs". After doing that, you can lock the device against further changes, if you want. This is all done via SiLabs "Simplicity Studio", which is a big IDE for their microcontrollers into which they wrapped up some of the device-specific tools for their simpler devices.

Thus, you can force the host machine to demand a device-specific driver if you need to. By default, it appears to the OS as a USB to serial port device. Linux and Windows recognize it as such, without special drivers. Linux mounts it starting at /dev/usb0; Windows mounts it starting at COM3.

No bit-banging, though; it doesn't have the hardware.

i336_ on Jan 28, 2017 [-]
Ah, thanks! That's pretty cool.

Very nice that I can change the serial number! That's actually kind of better than the FTDI route, where the serial numbers are hardcoded; I get to use my own serial numbering scheme.

I kinda expected no bit-banging. FWIW, if I really needed that I could probably build something with an Arduino (or similar microcontroller), and there are probably devices out there that do offer that functionality. I've never practically needed it; it's just my catalyst.
rs232serialport  hardware  console  terminal 
8 days ago - Metal And Hardcore News Plus Reviews And More
For over twenty years has been providing relevant, metal, hardcore, hard rock, etc. news, reviews, release dates and more to a strong and diverse community of readers. As a site we pride ourselves on helping to introduce new and upcoming artists, while also keeping up to date with many of the current mainstream heavyweights.
metal  music 
8 days ago
IMDb FreeDrive TV - Watch TV Shows and Movies Online for Free
IMDb TV is only available to customers in the U.S. at this time.

Check out our guide ( to what else is on TV and streaming for you.
free  movies  entertainment 
8 days ago
Pluto TV - Free Streaming TV
Ah, the universal question: What is Pluto TV?

Well let's see. We could pen a historical essay about our 2013 origins. We could toss around numbers like 250+ channels, 170+ content partners, and 20+ million viewers. We could even drone on about our huge library of on-demand content which spans across all genres of movies, news, TV shows, sports, documentaries, and blah blah blahhh...

But why complicate things when Pluto TV is, at its core, really simple?

All you really need to know is... it's free of passwords, it's free of payments, and it's free of all those Friday night spats about what to watch.

So just lean back. Drop in and enjoy the show. It's Free.
free  movies 
8 days ago
Watch Free Movies and TV Shows Online | Free Streaming Video | Tubi
Movies. TV. Free.
Thousands of movies and TV shows. Available Anywhere. Always Free.
free  movies 
8 days ago
Almquist shell - Wikipedia
Almquist shell (also known as A Shell, ash and sh) is a lightweight Unix shell originally written by Kenneth Almquist in the late 1980s. Initially a clone of the System V.4 variant of the Bourne shell, it replaced the original Bourne shell in the BSD versions of Unix released in the early 1990s.

Derivative versions of ash are installed as the default shell (/bin/sh) on FreeBSD, NetBSD, DragonFly BSD, MINIX, and in some Linux distributions. MINIX 3.2 used the original ash version, whose test feature differed from POSIX. That version of the shell was replaced in MINUX 3.3. Android used ash until Android 4.0, at which point it switched to mksh.
sh  shell  commandline  cli  unix  netbsd  dragonflybsd  freebsd  bsd 
8 days ago
Notes about the control codes present in VT220, VT240, VT3x0, VT420, and later DEC terminals
Notes about the control codes present in VT220, VT240, VT3x0, VT420, and later
DEC terminals. These models all implement supersets of the VT100's features.


By special request, here are the controls for
"Visual Character and Line Attributes" in DEC terminals.

The sequence CSI Ps;Ps;Ps m (or 7-bit ESC [ Ps;Ps;Ps m)
allow visual attributes to be set for some characters.
The VT100 and/or VT102 could perform only a few attributes;
models beginning with the VT300 series could do more.

The values of "Ps" follow:

Ps Attribute Mode
---- ------------------ ------
0 all attributes off all
1 bold all
4 underline all
5 blinking all
7 negative image all
8 invisible VT300+
22 bold off VT300+
24 underline off VT300+
25 blinking off VT300+
27 negative image off VT300+
28 invisible off VT300+

Line attributes were set as follows:

Sequence Attribute Mnemonic Special
-------- --------------------------------- -------- ------------
ESC # 5 single-width, single-height line DECSWL
ESC # 6 double-width, single-height line DECDWL

ESC # 3 double-width, double-height line DECDHL (top half)
ESC # 4 double-width, double-height line DECDHL (bottom half)

Please observe that the VT320 is *not* a color terminal. It has only
a monochrome screen. The VT340 is a color terminal, but does not obey
the ISO-6249/ECMA-48 color controls (it can do ReGIS graphics colors,
as can the VT241).

As far as I know, the only DEC terminal to implement and actually be
able to display ISO-6249/ECMA-48 color controls is the VT525 (which
was actually made for DEC by Boundless).

Of course, many contemporary "VT320-emulator" software products do
implement ISO-6249/ECMA-48 color, as an enhancement. (This has led
to incorrect folklore that a real VT320 was a color terminal.)

These color controls are the 30-37 foreground, 40-47 background
arguments to the SGR control sequence.



Newsgroups: comp.terminals
Message-ID: <>
Lines: 57
Organization: University of Bradford, UK
References: <2pqn0d$>
Date: Tue, 3 May 1994 08:38:27 GMT
Subject: Re: Unknown VT220 Escape Sequences

Thomas Gellekum ( wrote:
: Moin moin,

: The TPU-editor on VMS uses some escape sequences for VT220 that aren't
: explained in the programmers manual. They tend to garble output in my
: VT220 Emulator here. Does anyone know what they are supposed to do?

: CSI 1;2'z
: CSI 0'z

DECELR - DEC Enable Locator Reports

CSI Ps ; Pu ' z

0 locator disabled (default)
1 locator reports enabled
2 one shot

Pu --- specifies coordinate units
0 default to character cells
1 device physical pixels
2 character cells

: CSI 1;3'{

DECSLE - Select Locator Events

CSI P...P ' {

P...P one or more selective parameters:

0 Respond only to explicit host requests
1 Report button down transitions
2 Do not report button down transitions
3 Report button up transitions
4 Do not report button up transitions

: Is there an authoritative list of possible responses to a primary DA
: request? The manual gives just examples, not a complete list.

: Please reply by e-mail, I don't normally read this group. I'll post a
: summary if there's interest.

Opps, reply for news, so you better read this :-)


: Thomas Gellekum,


There are two distinct ways to issue a reset command to a VT220 terminal.

Mnemonic Command Sequence Explanation
-------- ------------------- ------------------ -----------------------------

DECSTR Soft terminal reset Escape [ ! p sets terminal to power-up
default states

RIS Hard terminal reset Escape c replaces all terminal set-up
parameters with NVR values or
power-up default values if
NVR values do not exist.

("VT220 Programmer Pocket Guide" EK-VT220-HR-001, page 33)

terminal  console  commandline  cli  shell  unix  vt100  reference 
8 days ago
How Non-English Speakers Learn This Crazy Grammar Rule You Know But Never Heard Of
That quote comes from a book called The Elements of Eloquence: How to Turn the Perfect English Phrase. Adjectives, writes the author, professional stickler Mark Forsyth, "absolutely have to be in this order: opinion-size-age-shape-colour-origin-material-purpose Noun. So you can have a lovely little old rectangular green French silver whittling knife. But if you mess with that order in the slightest you'll sound like a maniac. It's an odd thing that every English speaker uses that list, but almost none of us could write it out. And as size comes before colour, green great dragons can't exist."

Mixing up the above phrase does, as Forsyth writes, feel inexplicably wrong (a rectangular silver French old little lovely whittling green knife...), though nobody can say why. It's almost like secret knowledge we all share.
english  language  learning 
8 days ago
My, my, TTY! - Presentation by Tabitha Sable - !!Con West 2019
#bangbangcon #bangbangconwest #bangbangconwest2019
!!Con West 2019 - Tabitha Sable: My, my, TTY!
presentation  computing  it  unix  history  sysadmin 
10 days ago
Draft of the ANSI C standard - Programming Language C, X3.???-1988.
Originally posted as a comment, here is a link ( to what appears to be a draft of the former mentioned standard, the ANSI C standard. It is my understanding that the drafts can be viewed for free, as @pmg has noted as well.

. . . Integer constants


decimal-constant integer-suffix<opt>
octal-constant integer-suffix<opt>
hexadecimal-constant integer-suffix<opt>

decimal-constant digit

octal-constant octal-digit

0x hexadecimal-digit
0X hexadecimal-digit
hexadecimal-constant hexadecimal-digit

nonzero-digit: one of
1 2 3 4 5 6 7 8 9

octal-digit: one of
0 1 2 3 4 5 6 7

hexadecimal-digit: one of
0 1 2 3 4 5 6 7 8 9
a b c d e f

. . . Character constants


' c-char-sequence'
L' c-char-sequence'

c-char-sequence c-char

any member of the source character set except
the single-quote ', backslash \, or new-line character


simple-escape-sequence: one of
\' \" \? \\
\a \b \f \n \r \t \v

\ octal-digit
\ octal-digit octal-digit
\ octal-digit octal-digit octal-digit

\x hexadecimal-digit
hexadecimal-escape-sequence hexadecimal-digit
. . .

The single-quote ', the double-quote , the question-mark ?, the
backslash \ , and arbitrary integral values, are representable
according to the following table of escape sequences:

single-quote ' \'
double-quote " \"
question-mark ? \?
backslash \ \\
octal integer \ octal digits
hexadecimal integer \x hexadecimal digits

The double-quote and question-mark ? are representable either by
themselves or by the escape sequences \" and \? respectively, but the
single-quote ' and the backslash \ shall be represented, respectively,
by the escape sequences \' and \\ .

The octal digits that follow the backslash in an octal escape
sequence are taken to be part of the construction of a single
character for an integer character constant or of a single wide
character for a wide character constant. The numerical value of the
octal integer so formed specifies the value of the desired character.

The hexadecimal digits that follow the backslash and the letter x
in a hexadecimal escape sequence are taken to be part of the
construction of a single character for an integer character constant
or of a single wide character for a wide character constant. The
numerical value of the hexadecimal integer so formed specifies the
value of the desired character.
c  programming  terminal  console  shell  xterm  cli  unix 
11 days ago
c - Where can I find the C89/C90 standards in PDF format? - Stack Overflow
Just a little background from GCC's online documentation to help clarify what exactly the key terms are:

The original ANSI C standard (X3.159-1989) was ratified in 1989 and published in 1990. This standard was ratified as an ISO standard (ISO/IEC 9899:1990) later in 1990. There were no technical differences between these publications, although the sections of the ANSI standard were renumbered and became clauses in the ISO standard. This standard, in both its forms, is commonly known as C89, or occasionally as C90, from the dates of ratification.

Originally posted as a comment, here is a link ( to what appears to be a draft of the former mentioned standard, the ANSI C standard. It is my understanding that the drafts can be viewed for free, as @pmg has noted as well.
c  programming  terminal  console  shell  xterm  cli  unix 
11 days ago - muzyka bałkańska - Home | Facebook
Website about Balkan, mainly ex-Yugoslav music.
exyu  serbia  music 
12 days ago
Balkan music - Wikipedia
Balkan music is a type of music found in the Balkan region of southeastern Europe. The music is characterised by complex rhythm. Famous bands in Balkan music were Taraf de Haïdouks, Fanfare Ciocarlia, and No Smoking Orchestra.

The basic mode of operation was somewhat like that: The user logged into the remote machine, typing commands into the shell and reading the output. From a more technical point of view `typing commands into the shell' meant that the terminal detected that the user has hit some keys on the keyboard, for example the keys `l', 's' followed by RETURN for issuing the command 'ls'. This sequence of keys was sent to the shell running on the remote machine and the shell answered with a listing of the current directory.

Typing commands without seeing them becomes somewhat awkward and therefore the terminals were usually put into `echo' mode, i. e. characters were displayed on the screen as they were typed in.

Of course it is not possible to send `characters' through a network line, you can only send and receive numbers. Luckily enough most hardware manufacturers have agreed at least on a standard mapping from numbers to characters and vice versa that was called ASCII (or more exactly US-ASCII). ASCII defines standard meanings for 128 character codes in the range of 0-127, for instance the character `A' has the numerical code 65, the character `7' (i. e. the screen representation of a seven) has the code 55. A computer needs 7 bits in order to represent these 128 characters, the eighth bit (eight bits make up one byte or octet) was needed for the hardware protocol.

These 128 characters were sufficient to represent the 26 characters of the latin alphabet both in upper and lower case, the digits 0-9, some interpunctation marks like the colon, comma, period and so on. The character codes 0-31 represent so-called control characters. These control characters are invisible on the display but are rather commands that control the displaying terminal. They include commands like a carriage return (move the cursor resp. current writing position to the beginning of the line), the newline (move the cursor to the next line), ring a bell, and so on.
music  serbia 
12 days ago
Gautier Serre (born June 5, 1984), better known by his stage name Igorrr, is a French musician. Under the Igorrr alias, he combines a variety of disparate genres, including black metal, baroque music, breakcore, and trip hop, into a singular sound. Serre is also part of the groups Whourkr and Corpo-Mente. In 2017, the Igorrr project itself became a full band with the addition of vocalists Laurent Lunoir and Laure Le Prunenec and drummer Sylvain Bouvier.
music  metal 
12 days ago
This document was originally written for real text terminals which were like monitors (with keyboards), but could only display text with a command line interface (no pictures). They were widely used to access mainframe computers in the late 1970's and 1980's but use of them declined in the 1990's and they are seldom used anymore. However much of this howto also applies to command-line interfaces on Linux PC's which are in wide use today. It's not about the user programs one might run on the command line, but about setting up, managing, and understanding the interface itself Such as using a monitor as a virtual (text-only) console, using a text-window in a GUI such as xterm, connecting to a remote computer over a network via ssh, telnet, etc., or even using software on another PC to turn it into a serial-port text-terminal. All these 4 methods are known as "text-terminal emulation". But unfortunately, the main emphasis in this howto is real text terminals and the coverage of emulation is inadequate for the first 3 methods of emulation mentioned above. The Keyboard-and-Console-HOWTO filled much this gap but it was written for Linux 2.0 and now needs rewriting (or merging into this Text-Terminal howto). A new author is needed that has time to do all this. For the seldom used real text-terminals, it explains how they work, explains how to install and configure them, and provides some info on how to repair them. This HOWTO also provides a brief overview of modern GUI terminals.
console  terminal  commandline  cli  howto  xterm  unix 
12 days ago
A day without X
Don’t wanna be a PITA, but you’re still using an xterm in all your examples :)

Hehe. I know, but I wasn’t sure how to take screenshots on the TTY.

You can make screenshot of what you run in a framebufer tty with fbgrab or fbshot.

. . .

For viewing images, as I mentioned earlier, I use fbi (through framebuffer). For videos there isn’t anything better than using some old DXR3-like card with TV output.
terminal  console  cli  shell  x11  xorg 
12 days ago
Further Reading - Blessed 1.15.1 documentation
These are often written in the C language, and directly map the “Control Sequence Inducers” (CSI, literally \x1b[ for most modern terminal types) emitted by most terminal capabilities to an action in a series of case switch statements.
terminal  xterm  commandline  cli  shell  console  unix  c  programming 
12 days ago
Clear! (clear your terminal screen) |
The Ctrl-l shortcut only works as a shortcut for the "clear" command if you have readline {see *} set to use the default emacs input option. But it doesn't work if you set the vi input mode - at least not when in edit mode.

{* NOTE: readline is a utility that is used by bash and other shells to get input from the user.}

I use the following line in my .bashrc, which puts readline into vi input mode:

set -o vi

In the vi input mode, the Ctrl+l keybind is only available when in 'command' mode. So you have to hit <esc> and then Ctrl-l. Which is not really very helpful. It would also be handy to have it available in 'insert' mode too.

The good news is - you can easily add a keybind for Ctrl-l for 'insert' mode by adding the following line to your .bashrc:

bind -m vi-insert "\C-l":clear-screen

Alternatively, instead of editing .bashrc - you could create or edit .inputrc, which is a config file used by readline:

set editing-mode vi
$if mode=vi

# Set up a Ctrl+l key-bind for vi's insert-mode
set keymap vi insert
Control-l: clear-screen

# Set up a Ctrl+l key-bind for command mode
# Note: This key-bind is already defined in vi mode
# I've put it here as an example of how to create a
# vi command-mode shortcut
set keymap vi command
Control-l: clear-screen


Either method works. I edited .bashrc because it involved less typing and because I pretty much use bash exclusively.

But if you tend to switch between using different shells.
e.g. Bash, zsh, ksh, csh etc.
Then putting the settings into .inputrc will apply those settings to ANY shell that uses readline. In other words - no matter what shell you are using, your keybinds/settings for readline will always be the same.
Whereas .bashrc only applies to bash.

There are many different bits of functionality and options available in readline. So if there are any key-binds/shortcuts to functionality that you feel you are missing in either vi or emacs mode, you can easily set up a new keyboard shortcut - as I have done for clear-screen in the vi insert mode.
xterm  terminal  x11  xorg  shell  console  cli  unix  reference  traditionalvi  vi 
13 days ago
Keyboard Maps: xmodmap
Keyboard Maps: xmodmap

The modmap subsystem is part of the core X11 protocol. However, it has been replaced by the X Keyboard (XKB) Extension to the protocol, which defines a facade that emulates the legacy modmap subsystem so that old programs still work—including those that manipulate the modmap directly!

For people who like to Keep It Stupid Simple, the XKB extension looks horribly complicated and gross—even ignoring protocol details, the configuration syntax is a monstrosity! There’s no way to say something like “I’d like to remap Caps-Lock to be Control”, you have to copy and edit the entire keyboard definition, which includes mucking with vector graphics of the physical keyboard layout! So it’s very tempting to pretend that XKB doesn’t exist, and it’s still using modmap.

However, this is a leaky abstraction; for instance: when running the xmodmap command to manipulate the modmap, if you have multiple keyboards plugged in, the result can depend on which keyboard you used to press “enter” after typing the command!

Despite only existing as a compatibility shim today, I think it is important to understand the modmap subsystem to understand modern XKB.
x11  xorg  keyboard  xterm  terminal 
13 days ago
command line - What protocol/standard is used by terminals? - Unix & Linux Stack Exchange
Properly-written Unix programs don't emit these escape sequences directly. Instead, they use one of the libraries mentioned above, telling it to "move the cursor to position (1,1)" or whatever, and the **library** emits the necessary terminal control codes based on your TERM environment variable setting. This allows the program to work properly no matter what terminal type you run it on.
xterm  terminal  commandline  cli  shell  console  x11  xorg  unix  utf8  unicode  ansi  ascii 
14 days ago
terminal - Using printf with escape sequences? - Unix & Linux Stack Exchange
Do you know that printf does not support hex backslash escapes? Your code is not portable as it relies on non-POSIX features.
xterm  terminal  cli  unix  reference 
14 days ago
ANSI Codes and Colorized Terminals
In terms of digital representation ANSI and ASCII are different sets of characters, ASCII using only 7 bits for representing a character and ANSI using 8 bits.
ansi  ascii  reference  xterm  terminal  shell  console  cli  unix 
14 days ago
The TTY demystified
Occasionally, you may come across a UNIX system where the backspace key doesn't work. This happens when the terminal emulator transmits a backspace code (either ASCII 8 or ASCII 127) which doesn't match the erase setting in the TTY device. To remedy the problem, one usually types stty erase ^H (for ASCII 8) or stty erase ^? (for ASCII 127). But please remember that many terminal applications use readline, which puts the line discipline in raw mode. Those applications aren't affected.
terminal  unix  commandline  cli  console  computing  it  history  sysadmin  x11  xorg  xterm 
15 days ago
Webpage archive is a time capsule for web pages!
It takes a 'snapshot' of a webpage that will always be online even if the original page disappears.
It saves a text and a graphical copy of the page for better accuracy
and provides a short and reliable link to an unalterable record of any web page
including those from Web 2.0 sites:…

This can be useful if you want to take a 'snapshot' a page which could change soon: price list, job offer, real estate listing, drunk blog post, ...
Saved pages will have no active elements and no scripts, so they keep you safe as they cannot have any popups or malware!
archive  web 
16 days ago
Unprintable ACSCII characters and TTYs
What happens when typing special "control sequences" like <ctrl-h>, <ctrl-d> etc.?

For convenience, "^X" means "<Ctrl-X>" in the following (ignoring the fact that you usually might use the lower case x).

About a possible origin of the "^"-notation, see also an article in a.f.c, <62097@bbn.BBN.COM> (local copy).
ascii  ansi  xterm  terminal  cli  x11  xorg  unix 
16 days ago - Powerful, online SVG editor for teams
Vecta is a powerful vector graphics editor
with built-in collaboration, CAD capabilities,
javascript based plugins and SVG compressor
that allows everyone to create graphics faster than ever before
svg  editor  diagram  web  webbrowser  pictures  design 
16 days ago
Text File formats – ASCII Delimited Text – Not CSV or TAB delimited text
See and

In summary ASCII Delimited Text is using the last 4 control characters (28-31) for their purpose as field and record delimiters and not using CSV (Comma Separated Values)
csv  tsv  ascii  data  programming  plaintext  text  terminal  cli  reference 
16 days ago
Things Every Hacker Once Knew | Lobsters
feoh (Jan 27, 2017)

Now this article I can get behind! While I often find Mr. Raymond’s opinion pieces objectionable and occasionally out and out wrong, but in my view his work really shines when he strives to educate, and this article is a great example.

I wish there were a bit more depth on UUCP, but overall - great article. Thanks for posting it.

. . .

Dutch feoh (Jan 27, 2017)

My sentiments exactly. I stopped visiting his sites a few years ago; the signal to bombast ratio was just too low for me. If it weren’t for postings on aggregators, I’d miss great articles like this.

. . .

Screwtape (Jan 27, 2017)

A TTY-related fact that wasn’t mentioned in the article:

To control text-formatting on an ANSI-compatible terminal (or emulator), you can send it terminal control sequences like \e[1m to enable bold or whatever. Paper-based terminals didn’t have control-sequences like that, but people still figured out ways to do formatting. For example, if you printed a letter, then sent backspace (Ctrl-H, octet 0x08) and printed the same letter again, it would be printed with twice as much ink, making it look “bold”. If you printed a letter, then sent backspace and an underscore, it would look underlined.

The original Unix typesetting software took full advantage of this trick. If you told it to output a document (say, a manpage) to your terminal (as opposed to the expensive typesetting machine in the corner), it would use the BS trick to approximate the intended formatting.

This worked great, up until the invention of video display terminals, where the backspace trick just replaced the original text, instead of adding to it. So people wrote software to translate the backspace-trick into ANSI control codes... software like less(1).
unix  terminal  shell  console  commandline  cli  ascii  ansi  it  computing  history  reference  rs232serialport 
16 days ago
Things Every Hacker Once Knew | Hacker News
bogomipz on Jan 27, 2017 [-]
>"It becomes immediately obvious why, eg, ^[ becomes escape. Or that the alphabet is just 40h + the ordinal position of the letter (or 60h for lower-case). Or that we shift between upper & lower-case with a single bit."

I am not following, can you explain why ^[ becomes escape. Or that the alphabet is just 40h + the ordinal position? Can you elaborate? I feel like I am missing the elegance you are pointing out.

soneil on Jan 27, 2017 [-]
If you look at each byte as being 2 bits of 'group' and 5 bits of 'character';

00 11011 is Escape
10 11011 is [

So when we do ctrl+[ for escape (eg, in old ansi 'escape sequences', or in more recent discussions about the vim escape key on the 'touchbar' macbooks) - you're asking for the character 11011 ([) out of the control (00) set.

Any time you see \n represented as ^M, it's the same thing - 01101 (M) in the control (00) set is Carriage Return.

Likewise, when you realise that the relationship between upper-case and lower-case is just the same character from sets 10 & 11, it becomes obvious that you can, eg, translate upper case to lower case by just doing a bitwise or against 64 (0100000).

And 40h & 60h .. having a nice round number for the offset mostly just means you can 'read' ascii from binary by only paying attention to the last 5 bits. A is 1 (00001), Z is 26 (11010), leaving us something we can more comfortably manipulate in our heads.

I won't claim any of this is useful. But in the context of understanding why the ascii table looks the way it does, I do find four sets of 32 makes it much simpler in my head. I find it much easier to remember that A=65 (41h) and a=97 (61h) when I'm simply visualizing that A is the 1st character of the uppercase(40h) or lowercase(60h) set.
unix  terminal  shell  console  commandline  cli  ascii  ansi  it  computing  history 
16 days ago
What we still use ASCII CR for today (on Unix)
This description may sound like CR is no longer used on Unix, except as part of being carefully compatible with old protocols like SMTP and newer ones like HTTP. This is misleading, because CR is still in active use on Unix today.

Posted on January 28, 2017.
smtp  mailserver  sendmail  unix  ascii  http  reference 
16 days ago
bash - How to display control characters (^C, ^D, ^[, ...) differently in the shell - Unix & Linux Stack Exchange
When you type control characters in the shell they get displayed using what is called ** "caret notation" **.

Escape for example gets written as ^[ in caret notation.

When you press Ctrl+X, your terminal emulator writes the byte 0x18 to the master side of the pseudo-terminal pair.

What happens next depends on how the tty line discipline (a software module in the kernel that sits in between the master side (under control of the emulator) and the slave side (which applications running in the terminal interact with)) is configured.

A command to configure that tty line discipline is the stty command.

When running a dumb application like cat that is not aware of and doesn't care whether its stdin is a terminal or not, the terminal is in a default canonical mode where the tty line discipline implements a crude line editor.

Some interactive applications that need more than that crude line editor typically change those settings on start-up and restore them on leaving. Modern shells, at their prompt are examples of such applications. They implement their own more advanced line editor.
terminal  xterm  shell  x11  xorg  console  commandline  cli  unix 
16 days ago
Back to the Future: Using a DEC VT220 from 1983 |
Where is the freakin‘ Esc key!?

That is the one thing that buggs me: As vi user, I heavily depend on the ESC key, but the VT220 doesn’t have one. In VT100 mode, using F11 is quite simple, but you’ll miss out on the enhancements made in the VT220. CTRL-3 is the only way to generate a raw ESC character there. As many other people have done before me, I remapped ESC to jj ( or TAB in vim.
vt100  vi  terminal  console  shell  commandline  cli  xterm  x11  xorg  computing  it  history  unix  vim  traditionalvi 
17 days ago
vt220 ESC key -- how to, if it doesn't? - Google Groups
> A used vt220 we just acquired does not send ESC when the
> usual function key (F11?) is pressed, despite our best
> "there's-got-to-be-a-way-right?" efforts with the setup menus.

There are (I think) three ways:

(1) Get rid of all brain-damaged software that thinks that hooking to
the escape key is a good idea. ESC is for computer->terminal
interactions, not for fucking around to make a 'neato keen'
program that won't work on _the_ industry standard ASCII terminal.

(2) Press <ctrl> and '[' simultaneously.

(3) [not verified] Set the terminal to 'vt100' mode; the F11 key will
then work.
vt100  terminal  xterm  x11  xorg  cli  unix  it  computing  history 
17 days ago
« earlier      
per page:    204080120160

Copy this bookmark:

to read