Przy poszukiwaniu pomysłu na zrealizowanie deklaracji etykiet, idąc po hiperłączach pajęczyny natknąłem się na stronie domowej Éric Lévénez’s na wykres prezentujący rozwój języków programowania od roku 1954 (od Fortrana) do aż do obecnego 2009. Na wykresie jest wyszczególnione 50 języków programowania. Wykres w PDFie jest dostępny w formie plakatu lub podzielony na strony A4. Polecem
Archiwum dla maj, 2009
“Drzewo genealogiczne” języków programowania
Opublikowany maj 31, 2009 Programowanie Leave a CommentTags: historia, informatyka, Programowanie
Tworzenie ozdobnych pendrivów
Opublikowany maj 29, 2009 Filmiki , Inne Leave a CommentTags: biznes, filmik, firma, pendrive, Polska
Prezentacja polskiej, przydomowej firmy produkującej pendriv’y w drewnianej, zdobionej ozdobie. Brawo za pomysł na własny biznes
Maszyny cyfrowe zwane komputerami
Opublikowany maj 8, 2009 Filmiki Leave a CommentTags: filmik, IBM, komputer, kronika, PRL
Na ulicy polnej w Warszawie każdy może wybrać potrzebne mu usługi, jest tu i taka niebywała firma która świadczy usługi w tempie 30 000 na sekundę! Zakład elektronicznej techniki obliczeniowej…
To cytat z poniższego fragmentu filmu pochodzącego z kroniki filmowej PRL, dotyczącego maszyn cyfrowych zwanych komputerami. Dziwnie się patrzy na to z perspektywy tego kto nie miał nieszczęścia żyć w tamtych czasach ;p
ROT13
Opublikowany maj 1, 2009 Klasyka , Programowanie Leave a CommentTags: algorytm, C, kryptografia, Programowanie, ROT13
Chyba każdenu programującemu znany jest ten trywialny algorytm szyfrujący, ale na wszelki wypadek poniżej kod w C gdyby ktoś nie…
#include <stdio.h>
#include <string.h>
int main (int argc, char* argv[]) {
int i = 0;
for (i = 0; i != strlen (argv[1]); ++i) {
char *c = &argv[1][i];
if (!isalpha(*c))
continue;
if (*c 'Z'|| (*c) + 13 > 'z')
(*c) -= 26;
(*c) += 13;
}
printf ("%s\n", argv[1]);
return 0;
}
lub ciekawsza implementacja, nie mojego autorstwa, pochodząca całego zbioru implementacji tego algorytmu w różnych językach:
int main ()
{
register char byte, cap;
for(;read (0, &byte, 1);)
{
cap = byte & 32;
byte &= ~cap;
byte = ((byte >= 'A') && (byte <= 'Z') ? ((byte - 'A' + 13) % 26 + 'A') : byte) | cap;
write (1, &byte, 1);
}
}
