Tuesday, July 25, 2006

AMD is Buying ATI!

Oh, my gods! That's big news! It has been in the rumors for some time now, but it was just officially announced that AMD is going to acquire ATI in its entirety for some $5.5 billion! (The number is probably off, because it depends on the stock share value of the companies.) I don't know what I should make out of this deal. I've always liked AMD far better than Intel (that's primarily because of the segmented memory model of x86, (Intel was responsible for that, not AMD) and my problems with it in the early years of my programming! You know what they say, old hatereds die hard!) But recently Intel has introduced its Core 2 Duo processors which just knocks all other processors out of the competition, performance- and power- and price-wise. And I've never hidden the fact that I've always prefered nVidia GPUs. They're just more stylish! (For the record, I have an Athlon 64 3000+ on nForce3 250 with a GeForce 6600.) Of course with the merger, nVidia is going to receive the most heat. Anyway, I guess my next system will be a dual core Intel CPU with a (maybe SLI) nVidia GPU. I'll have to wait and see.

Monday, July 24, 2006

IAUM CCC 3

As I have mentioned in passing before, we are holding the third "IAUM CCC" this year. Basically, it's a programming contest for individuals who live in Iran (or understand Farsi in general.) The tournament consists of one online round, and two on-site rounds. For dates and info check out the official site. The official website is at http://www.csc.ir/ccc3/, so be sure to check it out if at all interested. Also, you have to signup on KOPCS (the Kludgy Online Programming Contest System!) which is located here.

Thursday, July 20, 2006

Movie List

This is my movie list. I don't think I'll add to it in the coming month. As I have said before, I have the whole "Friends" TV show, and the whole "Robotech" animation series. Plus a few dozen other films which are either on WORM media, or have sub-par quality. Here it is:
No. Title Sizes (in MiB) Format
1 16 Blocks 701 AVI
2 2 Fast, 2 Furious 700 AVI
3 2001: A Space Odyssey 649 AVI
4 2046 699,
700
AVI
5 40 Year Old Virgin, The 704 AVI
6 8 Mile 334 AVI
7 Abre los Ojos 701 AVI
8 Academy Awards 2006 691,
693
AVI
9 Aeon Flux 699 AVI
10 Agent Cody Banks 2 701 AVI
11 Alice in Wonderland 643 AVI
12 Alien vs Predator 700 AVI
13 All The President's Men 700,
696
AVI
14 Amadeus 700 AVI
15 America's Sweethearts 701 AVI
16 American Beauty 669 AVI
17 American Psycho 669 AVI
18 Analyze That 696 AVI
19 Analyze This 659 AVI
20 Animatrix 700 AVI
21 Anything Else 700 AVI
22 Apocalypse Now 613 AVI
23 Around the World in 80 Days 701 AVI
24 Assassins 700 AVI
25 Austin Powers - Goldmember 701 AVI
26 Austin Powers - International Man of Mystery 697 AVI
27 Austin Powers - The Spy Who Shagged Me 696 AVI
28 Avalon 854 AVI
29 Bachelor 700 AVI
30 Bad Boys 700 AVI
31 Bad Boys 2 720 AVI
32 Basic Instinct 687 AVI
33 Batman Begins 700,
551
AVI
34 Batman Forever 689 AVI
35 Battle Royale 702 AVI
36 Beautiful Mind, A 701 AVI
37 Bedazzled 668 AVI
38 Benny and Joon 701 AVI
39 Beyond Borders 700 AVI
40 Big Fish 700 AVI
41 Big Mama's House 700 AVI
42 Black Knight 701 AVI
43 Blade Runner - Director's Cut 701 AVI
44 Blue Streak 702 AVI
45 Bond 01 - Dr. No 695 AVI
46 Bond 02 - From Russia with Love 700 AVI
47 Bond 03 - Goldfinger 688 AVI
48 Bond 04 - Thunderball 898 AVI
49 Bond 05 - You Only Live Twice 618 AVI
50 Bond 06 - On Her Majesty's Secret Service 687 AVI
51 Bond 07 - Diamonds Are Forever 683 AVI
52 Bond 08 - Live And Let Die 686 AVI
53 Bond 09 - The Man With The Golden Gun 701 AVI
54 Bond 10 - The Spy Who Loved Me 686 AVI
55 Bond 11 - Moonraker 686 AVI
56 Bond 12 - For Your Eyes Only 664 AVI
57 Bond 13 - Octopussy 699 AVI
58 Bond 14 - A View To A Kill 701 AVI
59 Bond 15 - The Living Daylights 703 AVI
60 Bond 16 - Licence to Kill 703 AVI
61 Bond 17 - Goldeneye 701,
699
AVI
62 Bond 18 - Tomorrow Never Dies 606 AVI
63 Bond 19 - The world is not enough 628 AVI
64 Bond 20 - Die Another Day 700,
699
AVI
65 Bone Collector 695 AVI
66 Bourne Identity 700 AVI
67 Brazil 699,
700
AVI
68 Brokeback Mountain 954 AVI
69 Broken Flowers 698,
702
AVI
70 Bruce Almighty 700 AVI
71 Casablanca 697 AVI
72 Catch Me If You Can 699,
697
AVI
73 Catwoman 700 AVI
74 Charlie and the Chocolate Factory 1400 AVI
75 Charlie's Angels 2 - Full Throttle 694 AVI
76 Chicken Little 700 AVI
77 Chicken Run 349 AVI
78 Chinatown 887 AVI
79 Chocolat 680,
698
AVI
80 Chronicles of Narnia - The Lion, the Witch and the Wardrobe 701,
699
AVI
81 Chronicles of Riddick, The 700 AVI
82 Chronicles of Riddick, The - Dark Fury 576 AVI
83 Citizen Kane 683 AVI
84 City of Angels 701 AVI
85 Clockwork Orange, A 625 AVI
86 Collateral 700 AVI
87 Con Air 670 AVI
88 Constant Gardener, The 701 AVI
89 Contact 710 AVI
90 Crash 700 AVI
91 Crouching Tiger, Hidden Dragon 801 AVI
92 Cube 629 AVI
93 Dancer In The Dark 721 AVI
94 Dancer Upstairs, The 674,
675
AVI
95 Dances with Wolves - Special Edition 1380,
1299
AVI
96 Dark City 689 AVI
97 Dead Man 676 AVI
98 Dead Poets Society 649 AVI
99 Decalogue (Dekalog) 546,
568,
563,
554,
572,
591,
551,
543,
583,
569
VCD
100 Derailed 700 AVI
101 Devil's Advocate, The 581 AVI
102 Dick Tracy 700,
80
AVI
103 Dirty Harry 695 AVI
104 Dirty Harry 2 - Magnum Force 697 AVI
105 Dirty Harry 3 - The Enforcer 696 AVI
106 Disclosure 697 AVI
107 Dog Day Afternoon 688 AVI
108 Dogma 561 AVI
109 Domino 701 AVI
110 Donnie Darko 699 AVI
111 Doom 700,
701
AVI
112 Dr. Strangelove 713 AVI
113 Dreamers, The 700 AVI
114 Edward Scissorhands 700 AVI
115 Elektra 701 AVI
116 Elephant 701 AVI
117 Elizabeth 699 AVI
118 Entrapment 697 AVI
119 Equilibrium 664 AVI
120 Equilibrium - Making of 38 AVI
121 ET 699 AVI
122 Eurotrip 701 AVI
123 Eyes Wide Shut 1239 AVI
124 Fabuleux destin d'Amélie Poulain, Le 704 AVI
125 Falling Down 700,
699
AVI
126 Family Man, The 697 AVI
127 Fantasia 696 AVI
128 Fantasia 2000 620 AVI
129 Fantastic Four 699 AVI
130 Fast and Furious 700 AVI
131 Fear And Loathing in Las Vegas 694 AVI
132 Femme Fatale 698 AVI
133 Few Good Men, A 701 AVI
134 Fight Club 693 AVI
135 Final Fantasy VII - Advent Children 699 AVI
136 Finding Nemo 700 AVI
137 First Daughter 690 AVI
138 Forest Gump 704 AVI
139 Four Weddings and a Funeral 1140 AVI
140 Freaky Friday 700 AVI
141 Freddy vs Jason 697 AVI
142 From Hell 672 AVI
143 Full Metal Jacket 635 AVI
144 Fun with Dick and Jane 700 AVI
145 Game, The 694 AVI
146 Gangs of New York 700,
695
AVI
147 Garfield 700 AVI
148 Gattaca 699 AVI
149 Gladiator 762 AVI
150 Glengarry Glen Ross 1644 AVI
151 Godfather, The 692,
701
AVI
152 Godfather, The - Part II 697 AVI
153 Godfather, The - Part III 692,
675
AVI
154 Good Fellas 701 AVI
155 Good Night And Good Luck 700 AVI
156 Good, Bad, Ugly 667,
614
AVI
157 Great Dictator, The 698 AVI
158 Great Expectations 541,
576
VCD
159 Great Expectations 696 AVI
160 Groundhog Day 1493 AVI
161 Guy Thing, A 642 AVI
162 Harry Potter and the Chamber of Secrets 698 AVI
163 Harry Potter and the Goblet of Fire 700 AVI
164 Harry Potter and the Prisoner of Azkaban 700 AVI
165 Harry Potter and the Sorcerer's Stone 699 AVI
166 Heat 687 AVI
167 Hercules 626 AVI
168 Hero (Ying Xiong) 701 AVI
169 Hire, The - Ambush 129 AVI
170 Hire, The - Beat the Devil 244 AVI
171 Hire, The - Chosen 110 AVI
172 Hire, The - Powder Keg 282 AVI
173 Hire, The - Star 174 AVI
174 Hire, The - The Follow 139 AVI
175 Hire, The - The Hostage 178 AVI
176 Hire, The - Ticker 188 AVI
177 History of Violence, A 700 AVI
178 Hitch 695,
693
AVI
179 Hitchhikers Guide to the Galaxy, The 701,
693
AVI
180 Hostel 701 AVI
181 House of Flying Daggers 700,
701
AVI
182 Howl's Moving Castle (Hauru no Ugoku Shiro) 599 AVI
183 Hulk, The 699 AVI
184 Human Stain, The 689 AVI
185 I, Robot 700 AVI
186 Identity 700 AVI
187 Immortel 691 AVI
188 In Good Company 792 AVI
189 Independence Day 694 AVI
190 Indiana Jones and the Last Crusade 1400 MOV
191 Indiana Jones and the Temple of Doom 1398 MOV
192 Interview with a Vampire 703 AVI
193 Into the Blue 700 AVI
194 Irreversible 699 AVI
195 Italian Job 697 AVI
196 Jackie Brown 1401 AVI
197 Jay and Silent Bob Strike Back 699 AVI
198 Joe Versus the Volcano 700 AVI
199 Johnny English 700 AVI
200 Jungle Book, The 625 AVI
201 Kill Bill vol. 1 700 AVI
202 Kill Bill vol. 2 697,
697
AVI
203 King Arthur 701 AVI
204 King Kong 700,
700
AVI
205 Lady Killers 700 AVI
206 Land of Dead 700 AVI
207 Last Samurai, The 698 AVI
208 Last Tango In Paris, The 702 AVI
209 Laws of Attraction 700 AVI
210 Layer Cake 702 AVI
211 League of Extraordinary Gentlemen 700,
700
AVI
212 Lemony Snicket's A Series of Unfortunate Events 651 AVI
213 Leon 570 AVI
214 Liar Liar 690 AVI
215 Life is Beautiful 705 AVI
216 Lock, Stock and Two Smoking Barrels 700 AVI
217 Lock, Stock and Two Smoking Barrels - Director's Cut 771 VCD
218 Lord of the Rings - Fellowship of the Ring - Extended Edition 701,
701,
570
AVI
219 Lord of the Rings - Return of the King - Extended Edition 702,
696,
700
AVI
220 Lord of the Rings - The Two Towers - Extended Edition 697,
697,
697
AVI
221 Lord of War 701 AVI
222 Lost Highway 694 AVI
223 Lost in Translation 700 AVI
224 Love Actually 700 AVI
225 Machinist, The 699,
698
AVI
226 Malena 699 AVI
227 Man on Fire 700,
698
AVI
228 Marry Poppins 698,
699
AVI
229 Matadore, The 810 VCD
230 Matrix Reloaded 349 AVI
231 Matrix Revolutions 349 AVI
232 Matrix, The 578 AVI
233 Me, Myself And Irene 701 AVI
234 Meet the Fockers 411,
755
VCD
235 Meet The Parents 700 AVI
236 Memento 692 AVI
237 Memoirs of a Geisha 696,
698
AVI
238 Merchant of Venice 699 AVI
239 Metropolis (2001) 1399 AVI
240 Modern Times 691 AVI
241 Monty Python and the Holy Grail 700 AVI
242 Mrs. Doubtfire 706,
579,
301
AVI
243 Mulan 553 AVI
244 Mulholland Dr. 1543 AVI
245 Mummy 699 AVI
246 Mummy Returns 699 AVI
247 Munich 701,
700
AVI
248 My Fair Lady 698,
699
AVI
249 National Security 700 AVI
250 Natural Born Killers - Director's Cut 701 AVI
251 New Guy, The 701 AVI
252 Nightmare Before Christmas, The 694 AVI
253 Ocean's Eleven 690 AVI
254 Ocean's Twelve 689 AVI
255 Oldboy 696 OGM
256 One Flew Over The Cuckoo's Nest 701 AVI
257 Others 917 AVI
258 Paparazzi 700 AVI
259 Paradise Now 689 AVI
260 Passion 648 AVI
261 Patch Adams 701 AVI
262 Pay it forward 669 AVI
263 People I Know 701 AVI
264 Philadelphia 668 AVI
265 PI 622 AVI
266 Pianist, The 700,
700
VCD
267 Pitch Black 700 AVI
268 Platoon 655 AVI
269 Pretty Woman 702 AVI
270 Pride and Prejudice 701 AVI
271 Princess Mononoke 674 AVI
272 Pulp Fiction 659 AVI
273 Raiders of the Lost Ark 1399 MOV
274 Rainman 699 AVI
275 Ran 677,
688
AVI
276 Ransom 700,
698
AVI
277 Rashomon 568 AVI
278 Recruit 704 AVI
279 Reservoir Dogs 507 AVI
280 Revenge 625,
625
VCD
281 Revolution OS 654 AVI
282 Revolver 624,
460
VCD
283 Robin Hood 700 AVI
284 Ronin 1484 AVI
285 Saving Private Ryan 679 AVI
286 Saw 700 AVI
287 Scanners 699 AVI
288 Scanners II - The New Order 699 AVI
289 Scarface 697,
697
AVI
290 Scent of a Woman 658,
658,
241
VCD
291 Schindler's List 699,
700,
689
AVI
292 Scorpion King 699 AVI
293 Scream 699 AVI
294 Scream 2 699 AVI
295 Scream 3 699 AVI
296 SE7EN 544 AVI
297 Sense and Sensibility 730 AVI
298 Serendipity 690 AVI
299 Serenity 702 AVI
300 Seven Samurai 691,
688
AVI
301 Seven Years in Tibbet 700 AVI
302 Sexo Con Amor 700 AVI
303 Shakespeare in Love 699 AVI
304 Shawshank Redemption, The 707 AVI
305 Shining 700 AVI
306 Shining - Making of 345 AVI
307 Shrek 2 427,
427
VCD
308 Silence of the Lambs 587 AVI
309 Sin City 679,
682
AVI
310 Sinbad 700 AVI
311 Skeleton Key, The 701 AVI
312 Snatch 703 AVI
313 Sneakers 669 AVI
314 Sound of Music, The 620,
548
AVI
315 Spartan 700,
700
AVI
316 Specialist, The 745 AVI
317 Speed 700 AVI
318 Spiderman 699 AVI
319 Spiderman 2 645,
640
VCD
320 Spirited Away 700,
699
OGM
321 SpyGame 699 AVI
322 Stalker 703,
701
AVI
323 Star Wars Episode I - The Phantom Menace 776 AVI
324 Star Wars Episode II - Attack of the Clones 1484 AVI
325 Star Wars Episode III - Revenge of the Sith 697,
696
AVI
326 Star Wars Episode IV - A New Hope 702 AVI
327 Star Wars Episode V - The Empire Strikes Back 694 AVI
328 Star Wars Episode VI - Return of the Jedi 713 AVI
329 Starsky and Hutch 697 AVI
330 Strings 700 AVI
331 Swordfish 700 AVI
332 Sympathy for Lady Vengeance 700,
700
AVI
333 Sympathy for Mr. Vengeance 701 AVI
334 Syriana 696,
698
AVI
335 Taking Lives 744 AVI
336 Talented Mr. Ripley 739,
664
VCD
337 Taxi Driver 699 AVI
338 Taxi Driver - Making of 700 AVI
339 Terminal 697 AVI
340 Terminator 700 AVI
341 Terminator 2 - Judgement Day 699 AVI
342 Terminator 3 - Rise of the Machines 699 AVI
343 Three Extremes 701,
701
AVI
344 Tim Burton's Corpse Bride 699 AVI
345 Titanic 700,
698
AVI
346 Top Gun 700 AVI
347 Trainspotting 388 AVI
348 Transporter 700 AVI
349 Transporter 2 676 AVI
350 Treasure Planet 697 AVI
351 True Romance 701 AVI
352 Truman Show, The 667 AVI
353 Tsotsi 700 AVI
354 Twelve Monkeys 705,
705
AVI
355 Twisted 686 AVI
356 Unforgiven 700 AVI
357 Unleashed 700 AVI
358 Untouchables, The 707 AVI
359 Usual Suspects, The 634 AVI
360 V for Vendetta 700,
700
AVI
361 Vertigo 609,
677
VCD
362 Walk the Line 701 AVI
363 Walking Tall 700 AVI
364 Wallace and Gromit in the Curse of the Were-Rabbit 699 AVI
365 War of the Worlds 700,
701
AVI
366 Waterworld 681 AVI
367 Wedding Crashers 781 AVI
368 What Dreams May Come 696 AVI
369 What Lies Beneath 731 AVI
370 What Women Want 701 AVI
371 Where Eagles Dare 700,
692
AVI
372 Who Framed Roger Rabbit? 718 AVI
373 Whole Ten Yards 969 MPEG
374 Wolf 658,
603
VCD
375 Wuthering Heights 696 AVI
376 X-MEN 701 AVI
377 X2 693 AVI
378 xXx 699 AVI
379 Yojimbo 699 AVI
Total size 310.77 GiB
Peace!

Saturday, July 15, 2006

Winds of Change

OK, I admit. The title is not entirely accurate. Not only because the original thing is "Wind of Change" (singular,) but also because things are not changing, but things are happening.

I know, I haven't been writing anything interesting here for a while (have I ever?) but many things have been happening. Let me give you an overview.

My ADSL was out again. And it happened over the weekend so I just had two days without connectivity. It just came back on!

My phone was out for a month. I just checked and it was back too! Although it could have been back for a week.

My cellphone was disconnected because of a dispute between me and the telecom company. It's not resolved, but my service is renewed (because I paid the damn outrageous bill.)

We are holding another programming contest in IAUM (that's my university.) The contest is called "IAUM-CCC 3". It has three rounds. An Internet-based first round and two on-site rounds at the end of Mordad (second half of August.) Hope to see you then (I will see you then, because I already know every body who occasionally reads my babbling!)

The first part of my graphics programming tutorial is almost finished. It's awful! But I'll post it as soon as I can.

I'm thinking about writing a one-part tutorial about ripping a DVD and making a good-quality DivX file (XviD, rather) out of it. Is there any interest?

I've had several other (two actually) algorithm implementations (a GCD algorithm, and one for finding the nearest pair of points) lined up to post. Hadn't have the time to clean them up and organize my thoughts.

I have also written a cryptography library (a very simple, albeit useful one.) I brushed it up and made a manual for it. I will post more soon. The library is called "yCrypto" by the way.)

Well, that's it. For now. Over and out.

Saturday, July 08, 2006

Congratulations, Ehsan!

Yesterday (Friday, Tir 16th, 1385) one of my best and oldest friends got married. The cruel fact of life was that the ceremony was in Tehran, and I couldn't be there, and between my own hectic life and his obviously busy schedule, I couldn't get in touch with him. I know he doesn't read my weblog, and I know the chances for him to someday stumble upon this is infinitesimal, but here's to him:
Howdy old pal! I wish you and your wife a merry life. Sorry I didn't come and didn't call, and generally acted as if I didn't know you!
Congratulations again, Ehsan!

Sunday, July 02, 2006

IEEE 754

That's the floating point number format standard. What do you know about how floating point numbers are stored? (We are not talking about arithmetic.) My experience with programmers is that many of them don't know anything about these formats. Sure, they know that the real numbers are stored as sign, fraction and exponent triplets, but nothing more. After all, who needs to know how computers actually work these days, right? Well, if you think like that, I'm sorry for you. These line of thought may be practical (I hate that fact,) but it's not at all part of the hacker/geek spirit. Here's a brief description about how floating point numbers are stored, according to IEEE-754. I thought there were 3 formats for floats, but as it turns out, there's four. They are 32, 43, 64 and 80 bits (who've ever heard of a 43-bit float? Honestly?) The most widely used form is the 64-bit, or "double precision" one. This format (and all others) have a single sign bit (the MSB), with "0" for positive and "1" for negative numbers. Then comes an 11-bit exponent field. And after that, a 52-bit fraction part, for a total of 64 bits (it's 8 and 23 bits for the 32-bit single precision format.) As you know, floating point numbers are stored as some for of scientific notation, with base 2. Basically, that means that the value is the result of the multiplication of a M by two to the power of E. But that's not the whole story. First of all, you have to realize that every number you write in binary, has a '1' as it's leftmost bit. Think about it! Without zero-padding on the left, every number must have a non-zero digit at its left, and in radix-2, that means a 1. So we omit that 1 and save one bit. In our scientific notation, the M must be normalized to be greater or equal to 1, and less than 2. Second of all, the E is not the exponent, but the exponent minus 1023. That is, if you want 2 as E, you have to set the exponent to be 1025. This way, you can accommodate negative values as well. You might wonder why the common two's-complement method why not used. Well, I don't know all the reasons, but one of them probably has been the side effect that using this method, and the field layout being what it is (first exponent, then fraction) you can compare normalized floating point values just as integers, using the bit pattern! (not considering the sign bit, of course.) More precisely, the final number is calculated like this:
value = -1sign bit * 2exponent - 1023 * (1 + fraction / 252)
The above is used when 0 < exponent < style="font-style: italic;">normal number. There are also a few special case values that you need to know about as well:
  • If exponent is 0 and fraction is 0, the value is ±0.0;
  • If exponent is 0 but fraction is nonzero, the value is denormal and equal to ±F/21022+52;
  • If exponent is 2047 and fraction is 0, the value is ±∞;
  • If exponent is 2047 and fraction is nonzero, the value is ±NaN (Not a Number. There are 252-1 of these!)
Single-precision format is similar to the above, except that -127 is added to the exponent, and other changes to accommodate the smaller size.