We’re rewarding the question askers & reputations are being recalculated! Read more.
37

I’m not sure about specific events, but I think the main reason Base64 “won” is that it’s one of the binary encodings supported by MIME, and MIME took over. So perhaps the question then becomes two-fold: Why did MIME pick Base64 over UUencode? Possibly because Base64 is actually more resistant than UUencode: it only uses alphanumeric characters plus two ...


37

A formatted disk contains markers which identify the start of each track and the start of each sector within the track. These markers are fixed magnetic sequences that are picked up by the drive electronics so that it knows where the sectors are. On a full format, a completely blank disk has these markers written. This takes time as the drive must apply ...


30

The main thing is that there is no such thing as a "quick format" - That term is entirely misleading terminology invented by Microsoft. Quick Format doesn't "format" anything. What MS calls a "Quick format" is rather a "wipe directory" - It marks all sectors as unused and rewrites only the FAT and root directory. That process visits only a very limited ...


27

According to Google Scholar, Huffman’s 1952 paper had 326 citations by 1979, which given the volume of publication at the time means it was well-known, as far as can be determined now. Most compression-related papers published around that time refer to Huffman’s paper, either because they use Huffman coding in some way, or to explain why they don’t! Given ...


24

The Amiga disk format stores 512 bytes per sector, 11 sectors per track (a track is one side of a cylinder), double sided (i. e. 2 tracks per cylinder) with 80 cylinders per disk, which makes 80 * 2 * 11 * 512 = 901120 bytes = 901.12 kB = 880 KiB raw block data. The IBM-PC format also stores 512 bytes per sector, but only 9 sectors per track (on a Double ...


22

Well, in fact, a closely related question has been asked (and answered) few years ago: What is the history of data compression tools on personal computers? From that question, and its answer, it transpires that several implementations of Huffman algorithms were in use by the early 1980s. Specifically, Unix "pack" command implements a standard Huffman ...


20

The problem with uuencode is that the format was not robust in the face of some of the really crufty mail software and gateways into and out of proprietary non-SMTP and non-ASCII mail systems of the day. Just to liven things up further, there were multiple EBCDIC variants which had different code points for some ASCII characters used by uuencode, opening up ...


19

The a_midmag field contains a machine identifier, which can be used on platforms which support that field. a_midmag is a 32-bit value stored in host byte-order (fun already), and bits 16 to 23 give the machine type. The most comprehensive list of machine identifiers I’ve found so far is the list used by libbfd, which shows that the field has been used for ...


18

For a standard screen, compatible with ZX Spectrum, a SCREEN$ file is 6912 bytes. It's just a dump of the screen memory. The first 6144 bytes store the screen bitmap: 256x192 pixels, 1 bit per pixel (on or off). The layout is not linear. The screen bitmap is divided horizontally into three thirds: each one is 2048 bytes and store 8 text rows of 32 column ...


17

C64 Basic used a CR as EOL for disk files. (source: Commodore SX-64 User's Guide, page 22: “CR stands for the CHR$ code 13, the carriage return, which is automatically PRINTed at the end of ever PRINT or PRINT# statement … ”, and verified by hex dump of disk image showing 0x0d at line end.)


16

The HFS filesystem stores file metadata in a single large file called the "catalog file", with one record for each file or directory. Creation and modification times are stored as 32-bit unsigned integers representing a count of seconds since midnight, January 1, 1904. (Source: Inside Macintosh: Files)


14

The short answer is: early Unix systems did not bother to track which architecture an executable was for. In general, the architecture an executable was for, was the one the executable was found on. If you're on a PDP-11, /bin will contain PDP-11 executables. If you're on a VAX, /bin will contain VAX executables. Multiple architectures all trying to ...


12

Base64 is slightly more compact as it does not use a character indicating line length at the beginning of each line: % dd bs=1k count=1024 < /dev/urandom | uuencode /dev/stdout | wc -с 1444736 % dd bs=1k count=1024 < /dev/urandom | uuencode -m /dev/stdout | wc -c 1421440 Overall, Base64 is about 1.5% better.


12

If you actually look at how the Z-Machine compresses texts, it does the following (from memory, it's been a while): There's a list of frequently appearing words (like "the", "and") which are directly encoded by an index. It uses "shift" codes like in the teletypes to switch between different modes. This makes it simple to write a fast decoding routine that ...


12

@raffzahn describes object files, which are not executable. They need to be read into the linkage editor, which produces a load module. That is what CSV (the newer name of the component that loads modules and relocates addresses) loads, and then the operating system eventually branches to the entry point (not always the first byte). What you are looking for ...


11

Grace Hopper invented a kind of linking loader in 1951 for the Univac, as part of the A-0 "compiler" (not a compiler like we understand it today). One must keep in mind that memory was extremely limited on those very early computers, so what today would be an object module with many routines was equivalent to handling a single subroutine at that time. Also, ...


9

Articles Q190355 and Q195737 previously available on microsoft.com provided a little documentation about the .scf script file format: Example 1: Show Desktop (from Q190355): [Shell] Command=2 IconFile=explorer.exe,3 [Taskbar] Command=ToggleDesktop Example 2: View Channels (from Q195737): [Shell] Command=3 IconFile=shdocvw.dll,-118 [IE] Command=Channels ...


8

It appears that there are several versions of both DoubleSpace and DriveSpace. Information about each version as I find get it will be posted in this answer. DoubleSpace DoubleSpace uses MRCI, which uses "a variant of Lempel-Ziv encoding".[2] A non-technical explanation of the DoubleSpace compression algorithm: DoubleSpace first identifies the repeated ...


8

edit: Aaaargh - I just I answered something that wasn't asked for. Stupid me. I should not write answers in the early morning. I still don't delete it, as it might help to find related information about the content of the fields. So feel free to downvote and/or complain about me not reading thruout. So this is about the ELF fields e_machine and e_osabi , ...


8

SCF files are just another form of shortcuts to access various system functions with syntax identical to *.ini files. They are handled by shell32.dll. Parameter 'Command' determines how is the file handled. Possible values: Posts internal message to windows main process (systray.exe). At a glance it doesn't seem like message with this ID (0x4C8) is handled ...


8

A little more background on the formats... When IBM is involved, it's all about history. IBM's first PC floppy disk format was single sided, 5-1/4", 160K on a single-sided drive. (40 tracks, 8 sectors per track, 512 byte sectors). This started as "double density" but was otherwise a conservative design, typical for IBM. Double-sided floppies were 320K, ...


8

A couple of things seem a little odd about the way the Spectrum display memory was arranged until you understand why it was done the way it was. The first thing is the odd division into three blocks -- this was done so that if you have a pointer to a scan line of a character block stored in a register pair (e.g. HL) you can just increment the high order byte ...


8

Tar stood for 'tape archiver' so there is no real doubt where the 'tar' name itself came from. The V7 papers and manual pages are fairly explicit on it's origin replacing v6 tp. The other problem with the idea is that 'tarball' appears to be relatively modern as a term. I can't find a book reference before 1997 that uses the word 'tarball' - possibly not ...


7

The SCR file format is effectively a raw data dump of the video memory area on the standard ZX Spectrum 48/128k. As such, the data is divided into three 2,048 byte sections, each of which describes the pixel data for a third of the screen, from top to bottom. This is then followed by 768 bytes of attribute data information - resulting in a total of 6,912 ...


7

Back in the day, MacNosy was the go to disassembler tool to attack things like that. He also wrote a debugger. I can't speak to its status today. Apparently the web site still exists: https://www.jasik.com (We are talking 68K code, right?)


5

Any naming relation is very unlikely. The inventor and manufacturer of the Tarbell cassette interface simply had that name - I pretty much doubt he had his name changed for such a small pun. The tarball, however, derives from Tape ARchive, a very obvious acronym. No dependency from this direction as well. Tarbell was a name used in the computer hobbyists ...


5

The magnetic field doesn't destroy only the file contents, but the contents of the directory blocks and the block allocation table, as well as the sector markers on the disk itself. A full sector on a disk doesn't just contain the payload, but - depending on the system - a 'sync' marker denoting its start, the sector number itself and a checksum. So ...


5

Some of the reasons base64 was disliked was because uuencode stored the original file name and file mode of the encoded data. Also, uuencode had been around longer and was more established, which meant that many people had a uudecode program available but they did not have a base64 decoder. Keep in mind at that time, many people were using systems that did ...


5

Were these files also OMF, or did they use a different file format? Short answer: Nope, all the same (with some extensions over the years) The long story. Intel originally intended PL/I to be the main language for 8008 and 8080 systems and made their PL/M compiler able to produce absolute code as well as relocatable one. There where variations for each ...


5

What were (are?) common executable file formats used on mainframes The OS/360 object file format (OFF) has been pretty stable since the 1960s and used by next to all /360ff based OS up until now. In addition, in the late 1990s IBM introduced the Generalized Object File Format to give more support to features helpful to 'modern' languages, like long names ...


Only top voted, non community-wiki answers of a minimum length are eligible