Ciekawostki informatyczne


Pliki wykonywalne .exe zaczynają się od „MZ”. Są to inicjały Marka Zbikowskiego – dawnego pracownika Microsoftu.

Pliki wykonywalne można skompresować np. za pomocą UPX czy PKLite (stary).

Pliki .com i .exe (wiele odmian - OS2, DOS, NE, PE) to dwa przykładowe typy plików wykonywalnych. Pliki .com zostały w większości zastąpione przez .exe z powodu ograniczenia wielkości do niecałych 64 kB (kod binarny i dane muszą znajdować się w jednym segmencie).

kb oznacza kilobity, a kB kilobajty. KB to 1024 bajty, a kB 1000. Alternatywnie (wg nowszych zaleceń) KB to 1000 bajtów, a KiB 1024.

Znaczna część programów kompresujących działa w oparciu o warianty algorytmu kompresji słownikowej Lempel-Ziva.

Kody znaków ASCII (American Standard Code for Information Interchange) w zakresie 0-31 są znakami funkcyjnymi. Np. ASCII nr 4 oznacza „End of Transmission”.

Grafika rastrowa reprezentowana jest przez szereg danych zawierający informacje o poszczególnych pikselach (bitmapa; np. .pcx, .bmp, .tga, .tif, .jpg, .gif, .png). Natomiast grafika wektorowa oparta jest na wzorach matematycznych, np. liniach (np. .svg). Oba typy mogą być skompresowane kompresją bezstratną lub stratną (utrata części informacji i jakości).

Jednym z prostych algorytmów kompresji jest RLE (Run Lenght Encoding). W RLE ciąg powtarzających się obok siebie znaków zastępuje się przez parę bajtów: licznik powtórzeń, powtarzający się znak. Szczególnie duży współczynnik kompresji uzyskuje się dla map bitowych.
aaaaaabbbc > 6a3b1c
Innym prostym algorytmem jest BPE (Byte Pair Encoding). Stosując ten algorytm najczęściej powtarzające się słowo (2 bajty) zamienia się jednym znakiem nie występującym w zbiorze danych (np. gdy kompresowane dane są podzielone na 255 bajtowe bloki). Jeden blok danych często można poddać kompresji więcej niż raz (więcej niż jedno powtarzające się słowo).
abababcd > ab = e > eeecd

Disassembler (deasembler) jest programem „tłumaczącym” kod maszynowy plików wykonywalnych (np. .com, .exe) na język programowania asembler. Programy tego typu są wykorzystywane do usuwania błędów w programach, inżynierii odwrotnej (poznania funkcji programu bez kodu źródłowego, np. wirusów), crackingu (np. aby zdobyć kod instalacyjny). Deasemblację można utrudnić poprzez kompresję pliku, jego zaszyfrowanie, zastosowanie technik utrudniających działanie programu deasemblującego lub utrudniających interpretację uzyskanych informacji.

Dithering polega na symulowania barwy (w przypadku ubogiej palety kolorów) poprzez wymieszanie obok siebie punktów dwóch różnych kolorów. Np. punkty białe i czarne obok siebie dadzą złudzenie koloru szarego.

Aby zmniejszyć rozmiar pliku obrazu można: zmniejszyć jego rozdzielczość, wprowadzić kompresję (lub zwiększyć stopień kompresji), zmniejszyć paletę barw (i skompensować ditheringiem).

System operacyjny windows opiera się na systemie plików FAT32 (File Allocation Table) i NTFS (Network File System).

Zwykłe skasowanie pliku nie oznacza usunięcie danych z dysku. Aby permanentnie zniszczyć dane stosuje się odpowiednie oprogramowanie (nie wszystkie programy tego typu usuwają również informacje z systemu plików).

Płyty DVD+R są mniej podatne na błędy przy wypalaniu oraz mają lepszą korekcję błędów niż płyty DVD-R, przez co są lepsze do przechowywania kopii zapasowej.

Obecnie najpopularniejszym algorytmem szyfrowania (i zarazem bardzo bezpiecznym) jest AES (Advanced Encryption Standard), który zastąpił przestarzały algorytm DES (Data Encryption Standard). DES zapewnia jeszcze bezpieczeństwo wyłącznie w wariancie potrójnym z trzema niezależnymi kluczami.

Edytor heksadecymalny jest programem pozwalającym edytować dane binarne. Za jego pomocą można np. zmodyfikować „save game’y”. Większość procesorów jest little-endian, toteż dane są zapisywane w taki sposób, że najpierw zapisywany jest mniej znaczący bajt.

MMX (MultiMedia eXtensions), 3DNow!, SSE (Streaming SIMD Extensions) są to zestawy specjalnych instrukcji procesora, które ułatwiają przetwarzanie dużej ilości danych, zawierających dźwięk i obrazy (też filmy). MMX jest najstarsze z wymienionych. Jeszcze starszym rozwiązaniem by koprocesor, który wspomagał i przyspieszał obliczenia zmiennoprzecinkowe (obecnie stanowi integralną cześć procesora).

Przydatne skróty klawiszowe:

Windows (można zastosować w różnych aplikacjach):
Podwójne kliknięcie- zaznacza słowo
Potrójne kliknięcie- zaznacza akapit
Dwukrotne kliknięcie paska tytułu- maksymalizuje okno
Wciśnięty CTRL- zaznacza więcej pozycji

CTRL + ALT + DEL- resetuje komputer lub pokazuje menedżer zadań
ESC- anulowanie / wyjście
Print Screen- zapiuje zrzut ekranu do schowka
F1- Pomoc
CTRL- kopiowanie przy przeciąganiu
CTRL + SHIFT- tworzenie skrótu przy przeciąganiu
WINDOWS + M lub D- minimalizuje wszystkie okna
WINDOWS + E- uruchomienie eksploratora windows
WINDOWS + R- okno uruchom
WINDOWS + BREAK- właściwości systemu
ALT+ TAB- przełącza między aplikacjami
SHIFT + Strzałki- zaznacza dane
CTRL + C / INS- kopiowanie zaznaczonych danych do schowka
CTRL + X- wycięcie zaznaczonych danych do schowka
SHIFT + INS / CTRL + V- wklejanie danych ze schowka
BACKSPACE- przejście do wyższej gałęzi drzewa katalogów
CTRL + Z- cofnięcie ostatniej czynności
DEL- skasowanie danych / pliku
SHIFT + DEL- skasowanie pliku z pominięciem kosza
HOME- początek (np. linii)
END- koniec (np. linii)
lewy ALT + 21 (na klawiaturze numerycznej)- znak paragrafu
ALT- aktywuje meny główne
CTRL + A- zaznaczenie całości
CTRL + F- wyszukiwanie
CTRL + P- drukowanie
CTRL + O- otwieranie (np. dokumentu)
CTRL + R- wczytanie ponownie (np. strony internetowej)
CTRL + S- zapisywanie (np. dokumentu)
CTRL + N- otworzenie nowego dokumentu
ALT + F4 lub CTRL + W- zamknięcie aplikacji / okna
ALT + ENTER- przełącza na pełny ekran

MS Word:
CTRL + SHIFT + SPACJA- twarda spacja
CTRL + I- kursywa
CTRL + U- podkreślenie
CTRL + B- pogrubienie
ENTER- tworzy nowy akapit
SHIFT + ENTER- przejście do nowej linii
CTRL + E- wyrównywanie akapitu do środka
CTRL + L- wyrównywanie akapitu do lewej
CTRL + R- wyrównywanie akapitu do prawej
CTRL + J- wyrównywanie akapitu obustronnie (justowanie)
CTRL + ENTER- podział strony
CTRL + SHIFT + „=”- indeks górny dla zaznaczonego fragmentu tekstu
CTRL + „=”- indeks dolny dla zaznaczonego fragmentu tekstu
CTRL + H- wyszukiwanie i zamiana
lewy ALT + F10- maksymalizuje aplikację
CTRL + SHIFT + 8- pokazuje wszystkie znaki (również niedrukowalne)
F12- zapisz jako
CTRL + F2 lub ALT + CTRL + I- podgląd wydruku

Symbol „?” w wyszukiwaniu zastępuje dowolny pojedynczy znak, a „*” cały ciąg znaków. Są to tzw. wieloznaczniki czy symbole maski (z ang. wildcards).

Czcionka Century Gothic jest najbardziej oszczędną czcionką pod względem zużycia tuszu czy tonera (jeszcze bardziej od Ecofont). Innym sposobem ograniczenia kosztów jest zmiana standardowych ustawień sterownika drukarki (zmniejszenie jakości wydruku).

W przypadku problemów z wpisywaniem polskich znaków diaktrycznych w niektórych programach, prawy ALT można zastąpić kombinacją SHIFT + Tylda + odpowiedni znak (np. "a").

Krytyka Microsoftu i jego produktów
Microsoft słynie z niskiej jakości produktów (często niedopracowanych jak windows) i z nieuczciwych zachowań monopolistycznych- np. zawieranie umów z producentami sprzętu, aby oferowali komputery wyłącznie z systemem windows i bez możliwości rezygnacji z tego systemu (tzw. podatek windows); innym przykładem był tajny kod AARD, który sprawiał że produkty Microsoftu celowo nie działały na klonach systemu DOS (sugerując że jest to wina błędów w kompatybilnym systemie). Inną manipulacją (zwiększającą zyski) było wydanie gry Halo 2 wyłącznie na system vista (lub nowszy). Windows XP ponoć był "za słaby", aby obsługiwać tą grę (sprawa dotyczyła DX 10). Nieoficjalny patch uruchamiający Halo 2 na XP zaprzeczył temu twierdzeniu. Microsoft również modyfikuje otwarte standardy (wprowadzajac swoje "ulepszenia") i je "przejmuje". Stosuje także nieudokumentowane funkcje w swoich systemach, aby zdobywać przewagę nad konkurencją. Microsoft razem z Google, Yahoo czy Skype kooperował z chińskim rządem w kwestii cenzury internetu. Większość oferowanych produktów znalazło swoje odpowiedniki (dużo lepsze) u konkurencyjnych producentów (np. przeglądarki internetowe).

Krytyka windows
Windows zawiera bardzo liczne błędy, które czasem wymagają nawet kilkunastu lat na ich naprawienie (pomimo świadomości ich istnienia). Obecność błędów nie jest przeszkodą dla Microsoftu do masowej sprzedaży swoich produktów. Windows jest to system dość zasobożerny (przez to powolny, szczególnie nowsze wersje). Przykładem marnotrawstwa jest rezerwowanie 10% pojemności dysku na kosz. Zawiera również wiele opcji i dodatków, które są rzadko wykorzystywane (nadmiernie rozbudowany). Starsze wersje systemu windows nie pozwalały na jego uruchomienie z bootowalnej płyty czy pendrive’a. Również zainstalowane dane są mało przenośne (nie można przenieś całych ustawień systemu i konfiguracji zainstalowanych programów do nowo przygotowanego systemu- spora strata czasu). Bardzo niski poziom bezpieczeństwa i wiele luk ułatwiło znaczne rozprzestrzenienie się szkodliwego oprogramowania na świecie. Przyczyniło się to do znacznych strat. Standardowe programy oferowane wraz z systemem są dosyć ubogie i kiepskie, np. IE, WMP, defragmentator, klient FTP; dodatkowo brakuje wielu przydatnych narzędzi (tą lukę bardzo szybko zapełniły konkurencyjne firmy).

Suma kontrolna (z ang. checksum) to nadmiarowe dane, które pozwalają wykryć (nie zawsze) zakłamanie w przetwarzanych / przesyłanych danych. Często stosowane sumy kontrolne: CRC (Cyclic Redundancy Check– archiwizery), kontrola parzystości (w transmisji), algorytm Luhna (numery kont bankowych, NIP, PESEL).

n bitów pozwala zapisać 2^n liczb, np. 8 bitów może zakodować 256 znaków (0–255), 16– 65536 (2 bajty – słowo). Aby zakodować wartość (c) w zakresie 1–65536, można posłużyć się następującym algorytmem:
a = FIX((c – 1) / 256))
b = MOD(c / 256)

a – wartość 1. bajtu
b – wartość 2. bajtu
FIX – usunięcie części ułamkowej liczby
MOD – reszta z dzielenia

Algorytm odwrotny:
c = (a + 1) * 256 + b

Aby zakodować dwie wartości 0–15 w jednym bajcie, można wykorzystać poniższy algorytm:
c = 16 * a + b

a – 1. liczba
b – 2. liczba
c – wartość bajtu

Algorytm odwrotny:
a = FIX(c / 16)
b = MOD(c / 16)

Przykładowe, podstawowe skróty informatyczne:
BIOS- Basic Input Output System
FAT- File Allocation Tabl,e jeden z systemów plików (definiuje sposób przechowywania plików oraz informacji o plikach, zarządzania nimi)
HDD- Hard Disk Drive, twardy dysk
FDD- Floppy Disk Drive, stacja dyskietek
ROM- Read-Only Memory, pamięć tylko do odczytu
RAM- Random Access Memory, pamięć o dostępie swobodnym
CPU- Central Processing Unit
FPU- Floating-Point Unit, koprocesor
VGA- Video Graphic Array
PCI- Peripheral Component Interconnect
FTP- File Transfer Protocol
HTML- HyperText Markup Language
HTTP- HyperText Transfer Protocol
DOS- Disk Operating System
IDE- Integrated Drive Electronics
ATA- Advanced Technology Attachments
RAID- Redundant Array of Independent Disks
DMA- Direct Memory Access
USB- Universal Serial Bus
DVD- Digital Versatile Disc
CRC- Cyclic Redundancy Check
ASCII- American Standard Code for Information Interchange
API- Application Programming Interface
CAD- Computer-Aided Design
LBA- Logical Block Addressing
DES- Data Encryption Standard
AES- Advanced Encryption Standard
DPI- Dots Per Inch
DPMS- Display Power Management Signaling
DRAM- Dynamic Random Access Memory
DRM- Digital Rights Management
DSL- Digital Subscriber Line
DTP- Desktop Publishing
EEPROM- Electronically Erasable Programmable Read-Only Memory
FAQ- Frequently Asked Questions
FLOPS- Floating-Point Operations Per Second
GIF- Graphic Interchange Format
PNG- Portable Network Graphics
SVG- Scalable Vector Graphics
FSB- Front Side Bus
FIFO- First In First Out
HDMI- High-Definition Multimedia Interface
SSD- Solid State Drive, HDD oparte o pamieć flash
NTFS- Network File System
IBM- International Business Machines
IRC- Internet Relay Chat
IrDA- Infrared Data Association
ISDN- Integrated Services Digital Network
ISO- International Organization for Standardization
ISP- Internet Service Provider
J2ME- Java 2 Micro Edition, java dla urządzeń mobilnych
JRE- Java Runtime Environment
LCD- Liquid Crystal Display, ekran ciekłokrystaliczny
CRT- Cathode Ray Tube, ekran kineskopowy
LAN- Local Area Network
MBR- Master Boot Record
IPL- Initial Program Loader
MIDI- Musical Instrument Digital Interface
SIMD- Single Instruction, Multiple Data
SSE- Streaming SIMD Extensions
MMORPG- Massively Multiplayer Online Role-Playing Game
MMU- Memory Management Unit
MMX- Multi-Media Extensions
NVRAM- Non-Volatile Random Access Memory
OLE- Object Linking and Embedding
OLED- Organic Light Emitting
COM- Component Object Model
P2P- Peer-To-Peer
PATA-Parallel ATA
PC- Personal Computer
PCMCIA- Personal Computer Memory Card International Association
CMOS- Complementary Metal-Oxide Semiconductor
PCM- Pulse-Code Modulation
PERL- Practical Extraction and Reporting Language
PIC- Programmable Interrupt Controller
PID- Process ID
PnP- Plug-and-Play
POST- Power On Self Test
POSIX- Portable Operating System Interface
PPI- Pixels Per Inch
PPP- Point-to-Point Protocol
PS/2- Personal System/2
RAD- Rapid Application Development
RISC-Reduced Instruction Set Computer
CISC- Complex Instruction Set Computer
RGB- Red, Green, Blue
RGBA- Red, Green, Blue, Alpha
CMYK- Cyan Magenta Yellow Key
RTC- Real-Time Clock
SCSI- Small Computer System Interface
SDRAM- Synchronous Dynamic Random Access Memory
SSL- Secure Socket Layer
SFTP- Secure FTP
SIMD- Single Instruction, Multiple Data
DIMM- Dual In-Line Memory Module
DDR- Double Data Rate
SMS- Short Message Service
Sysop- System operator
SVGA- Super Video Graphics Array
SQL- Structured Query Language
TWAIN- Technology Without An Interesting Name
WYSIWYG- What You See Is What You Get
URL- Uniform Resource Locator
UTP- Unshielded Twisted Pair
VOD- Video On Demand
VoIP- Voice over Internet Protocol
VPN- Virtual Private Network
WWW- World Wide Web
WAP-Wireless Application Protocol
WAP- Wireless Access Point
WMA- Windows Media Audio
WMV- Windows Media Video
WOL- Wake-On-LAN
HSDPA- High Speed Downlink Packet Access
UMTS- Universal Mobile Telecommunications System
XML- eXtensible Markup Language
DHTML- Dynamic HyperText Markup Language
XMS- Extended Memory Specification
SSH- Secure Shell
SRAM- Static Random Access Memory
LPT- Line Print Terminal
WLAN- Wireless Local Area Network
RTS- RealTime Strategy
ACPI- Advanced Configuration and Power Interface


Dominik Matusiak