Archive for March, 2008

Дупетата на CeBIT 2008

Saturday, March 15th, 2008

Не съм ходил лично, но тази новина ме накара да съжаля 😀 MSI определено са се представили добре!
Всъщност като се замисля какви ги има по пловдивския панаир… трябва да се направи класация и на онова събитие.
Ето някои които определено хващат окото:


Още:
(more…)

Асемблер за линукс

Thursday, March 13th, 2008

Днес доста учудващо ни накараха да пишем на асемблер, че и за x86 линукс. Сорса почти ни го метнаха на готово, ама се оказа че е доста елементарно. Което ме вкарва в малко размисъл относно природата на ‘машинната инструкция’ и ‘асемблера’, ама тези размишления са в разрез на всякакви правила и заучени положения и ако ги спомена някой разбирач ще ме насмели 🙂

$ vim test.asm
section .data
msg db ‘hello world’,0xA ; зареждаме текстов низ “здрасти” като променливата msg е указател към началния адрес (ех, това С), 0хА е знак 10, който познайте какво прави
len equ $-msg ; променливата $ (долар) указвала текущия адрес, така че дължината на низа “здравей” ще се сметне лесно
section .text
global _start
_start: ; входна точка
mov EAX, 0x04 ; изписването на текст на конзолата ставало през syscall от кърнела – функция с параметри. В ЕАХ се зарежда номера на функцията, а в следващите регистри параметрите. Функция номер 4 е изписване, която приема следните параметри:
mov EBX, 0x01 ; файлов дескриптор където ще се изписва
mov ECX, msg ; съобщението
mov EDX, len ; дължината му
int 0x80 ; а самото извикване на функцията става през прекъсване на 80h. Единственото възможно прекъсване (wtf)
mov EAX, 0x01 ; пак ще извикваме функция, но този път за край на програмата (функция 1 – return)
int 0x80
$ nasm -f elf test.asm # асемблираме кода
$ ld -o test test.o # свързваме
$ ./test # изпълняваме
hello world
$ ls -lh test* # да видим общия размер на всичко току що създадено
-rwxr-xr-x 1 ivanatora users 757 2008-03-14 20:26 test*
-rw-r–r– 1 ivanatora users 193 2008-03-14 20:30 test.asm
-rw-r–r– 1 ivanatora users 704 2008-03-14 20:30 test.o

Да видим същия резултат постигнат на С:

$ vim hello.c
#include <stdio.h>
int main(void){
printf(“Hello world\n”);
return 0;
}
$ gcc -o hello hello.c
$ ./hello
Hello world
$ ls -lh hello*
-rwxr-xr-x 1 ivanatora users 6.2K 2008-03-14 20:37 hello*
-rw-r–r– 1 ivanatora users 74 2008-03-14 20:37 hello.c

Десет пъти по-голям изпълним файл. Ако същото се компилира пък в M$ Visual Studio, няма да говоря за размера 🙂

ПП. Егх тоя гаден WordPress, нито шрифта е хубав нито индентациите са си на мястото, а и на всичкото отгоре се опитва да ми затвори тага <stdio.h>

Конкурс за дупета

Wednesday, March 12th, 2008

Съвсем случайно ми попадна този сайт. Класацията е както по страни, така и въобще за целия свят, а категориите са четири – най-горещо дупе, най-добре облечено, татуирано и най-смешно. Можете да качвате онлайн и свои снимки, или поне така твърдят, защото аз не съм пробвал 🙂
Струва ми се че имат проблеми с търсачката, защото формата не работи.
Няма и хубави детайлни и големи снимки.
Май си намерих материал за тестване на парсъри.

За добрите, лошите и умните момичета

Tuesday, March 11th, 2008

Добрите момичета се лишават от девственост през първата брачна нощ,лошите – при първия удобен случай, умните – по два-три пъти.

Добрите момичета правят секс по любов, лошите – за пари, умните – когато те самите решат.

Добрите момичета вярват на мъжете, лошите не вярват на мъжете, умните не вярват на никого.

Добрите момичета се комплексират от размера на гърдите си, лошите слагат силикон, умните се гордеят с това, което имат.
(more…)

Образцово паркиране

Monday, March 10th, 2008

Забележете черния баровец. Това под него е главната улица в Стара Загора и пешеходната пътека, която я пресича. Това в ляво е паркинга на РПУ-то, което пък се намира на по-малко от една пряка.
Трябваше да му снимам и четирите еднакви цифри на номера, че ми е омръзнал живота.

dsc00115.jpg