This one's hilarious in a very sad way. Our government is going to start filtering our SMS (and possibly MMS) messages. I read the news here, and I have no other sources with more information, but this is exactly the kind of action you could expect from this kind of imbeciles.
And if I know them, they will execute it in the most outrageous and stupid method. And they will cite "protection of civil rights" as their motive, not once mentioning other alternatives like letting people themselves blacklist the forth parties that they don't want to receive. No sir! People must be "protected" in spite of themselves. And I guess everybody in Iran knows that given the option, the first SMSs people will bar would be advertisements and other junk sent from all kinds of government organizations and corporations!
Of course, if implemented, the whole process will be closed. The contract will be given to someone's cousin, and we (the minor group called "the people") will have no way at all to influence the system or even request information about it.
Man I get angry sometimes.
Monday, April 30, 2007
Wednesday, April 25, 2007
BitTorrent Share Ratio Now More Than Half
I use the BitTorrent network extensively to download stuff, and hopefully to distribute stuff in the future. I'm not going to talk about the merits of BT in comparison with other client-server and P2P technologies (it is better!)
I use Azureus for a BT software (or client?) and I'm fine with it. It has a lot of features that one will use (and some that I don't,) and a plug-in system that I haven't used yet. My only bone to pick with Azureus is that it's a Java program, therefore it's somewhat (a little, really) heavy on resources and supposedly a bit slower than it could have been. But it's the best client I've seen. (It's taking a hideous turn in their new version 3.0 though. Think Windows Media Player 6.4 versus Media Player 10! *shudders*)
Another very good BT software is µTorrent. It is fast, small (think 200KiB!) and it gets the job done. It doesn't even need installation! The only problem is that it's not free software. It's not even open-source! Anyway, I suggest µTorrent to all.
Anyway, the reason that I'm rambling on about BitTorrent is that my share ratio finally crossed the 0.5 point last night. That means the number of bytes that I've uploaded is now more than half of the bytes that I've downloaded (via Azureus only, on Mike.) The numbers are 135.10 GiB for upload and 270.00 GiB for download in 264 days, 20 hours. I know that a 0.5 share ratio is not something to be proud of, but it's at least better than everybody I know about (over here in Iran.) Considering the fact that I'm on an ADSL connection (Assymetric DSL) which has an uplink bandwidth of half of its downlink, I guess my ratio is OK.
I use Azureus for a BT software (or client?) and I'm fine with it. It has a lot of features that one will use (and some that I don't,) and a plug-in system that I haven't used yet. My only bone to pick with Azureus is that it's a Java program, therefore it's somewhat (a little, really) heavy on resources and supposedly a bit slower than it could have been. But it's the best client I've seen. (It's taking a hideous turn in their new version 3.0 though. Think Windows Media Player 6.4 versus Media Player 10! *shudders*)
Another very good BT software is µTorrent. It is fast, small (think 200KiB!) and it gets the job done. It doesn't even need installation! The only problem is that it's not free software. It's not even open-source! Anyway, I suggest µTorrent to all.
Anyway, the reason that I'm rambling on about BitTorrent is that my share ratio finally crossed the 0.5 point last night. That means the number of bytes that I've uploaded is now more than half of the bytes that I've downloaded (via Azureus only, on Mike.) The numbers are 135.10 GiB for upload and 270.00 GiB for download in 264 days, 20 hours. I know that a 0.5 share ratio is not something to be proud of, but it's at least better than everybody I know about (over here in Iran.) Considering the fact that I'm on an ADSL connection (Assymetric DSL) which has an uplink bandwidth of half of its downlink, I guess my ratio is OK.
Tuesday, April 24, 2007
Updated Movie List
Once again, the list is hidden initially to conserve space. I'm going to clean up my archive in the near future, removing some duplicate movies (with different format or qualities,) and some unworthy movies too.
Also, I'm archiving my... err, archive, on WORM media (i.e. DVD.)
Also, I'm archiving my... err, archive, on WORM media (i.e. DVD.)
No. | Title | Sizes (in MiB) | Format | Added On |
---|---|---|---|---|
1 | 16 Blocks | 701 | AVI | 2006-06-24 |
2 | 2 Fast, 2 Furious | 700 | AVI | 2005-12-26 |
3 | 2001: A Space Odyssey | 649 | AVI | 2005-12-26 |
4 | 2046 | 699, 700 | AVI | 2005-11-25 |
5 | 21 Grams | 998 | AVI | 2006-11-29 |
6 | 300 | 703 | AVI | 2007-03-31 |
7 | 40 Year Old Virgin, The | 704 | AVI | 2005-12-29 |
8 | 50 First Dates | 700 | AVI | 2007-01-30 |
9 | 78th Annual Academy Awards (2006) | 691, 693 | AVI | 2006-04-24 |
10 | 79th Annual Academy Awards (2007) | 699, 698 | AVI | 2007-03-05 |
11 | 8 Mile | 334 | AVI | 2005-12-26 |
12 | Abre los Ojos | 701 | AVI | 2006-06-28 |
13 | Aeon Flux | 699 | AVI | 2005-12-26 |
14 | Agent Cody Banks 2 | 701 | AVI | 2005-12-26 |
15 | Ali | 1100 | AVI | 2007-03-01 |
16 | Alice in Wonderland | 643 | AVI | 2005-12-26 |
17 | Alien vs Predator | 700 | AVI | 2005-12-26 |
18 | All The President's Men | 700, 696 | AVI | 2006-07-09 |
19 | All the Pretty Horses | 700 | AVI | 2007-02-07 |
20 | Almost Famous | 701 | AVI | 2007-02-09 |
21 | Amadeus | 700 | AVI | 2005-12-26 |
22 | America's Sweethearts | 701 | AVI | 2005-12-26 |
23 | American Beauty | 669 | AVI | 2005-12-26 |
24 | American Psycho | 669 | AVI | 2005-12-26 |
25 | Amistad | 700, 698, 697 | AVI | 2006-11-24 |
26 | Analyze That | 696 | AVI | 2006-11-24 |
27 | Analyze This | 659 | AVI | 2006-11-24 |
28 | Anchorman | 700 | AVI | 2006-12-22 |
29 | Anger Management | 700 | AVI | 2007-01-30 |
30 | Animatrix | 700 | AVI | 2005-12-26 |
31 | Anything Else | 700 | AVI | 2005-12-26 |
32 | Apocalypse Now | 613 | AVI | 2005-12-26 |
33 | Appleseed | 1009 | AVI | 2006-09-25 |
34 | Around the World in 80 Days | 701 | AVI | 2005-12-26 |
35 | Art of Seduction, The | 527 | AVI | 2007-01-04 |
36 | Assassins | 700 | AVI | 2005-12-26 |
37 | Austin Powers - Goldmember | 701 | AVI | 2006-06-21 |
38 | Austin Powers - International Man of Mystery | 697 | AVI | 2006-06-20 |
39 | Austin Powers - The Spy Who Shagged Me | 696 | AVI | 2006-06-20 |
40 | Avalon | 854 | AVI | 2006-01-14 |
41 | Baby's Day Out | 703 | AVI | 2006-12-31 |
42 | Bach - Around the World (Music Performance) | 699 | AVI | 2006-09-30 |
43 | Bachelor | 700 | AVI | 2005-12-26 |
44 | Bad Boys | 700 | AVI | 2005-12-26 |
45 | Bad Boys 2 | 720 | AVI | 2005-12-26 |
46 | Barry Lyndon | 803, 674 | AVI | 2007-02-18 |
47 | Basic Instinct | 687 | AVI | 2005-12-26 |
48 | Batman Begins | 700, 551 | AVI | 2006-05-06 |
49 | Batman Forever | 689 | AVI | 2005-12-26 |
50 | Battle Royale | 702 | AVI | 2005-12-26 |
51 | Be Cool | 700 | AVI | 2006-12-31 |
52 | Be Cool, Making of | 350 | AVI | 2007-01-30 |
53 | Beautiful Mind, A | 701 | AVI | 2005-12-26 |
54 | Beauty and the Beast | 683 | AVI | 2006-07-31 |
55 | Bedazzled | 668 | AVI | 2006-07-16 |
56 | Ben-Hur | 697, 696, 412 | AVI | 2007-03-18 |
57 | Benny and Joon | 701 | AVI | 2006-04-28 |
58 | Besieged | 703 | AVI | 2007-01-30 |
59 | Beyond Borders | 700 | AVI | 2005-12-26 |
60 | Big Fish | 700 | AVI | 2005-12-26 |
61 | Big Mama's House | 700 | AVI | 2005-12-26 |
62 | Billy Bathgate | 700 | AVI | 2007-02-18 |
63 | Black Dahlia, The | 700 | AVI | 2007-01-31 |
64 | Black Knight | 701 | AVI | 2005-12-26 |
65 | Blade | 699 | AVI | 2006-11-29 |
66 | Blade II | 700, 699 | AVI | 2006-09-07 |
67 | Blade Runner - Director's Cut | 701 | AVI | 2005-12-26 |
68 | Blood Diamond | 1000 | AVI | 2007-03-20 |
69 | Bloodrayne | 700 | AVI | 2006-12-18 |
70 | Blue Streak | 702 | AVI | 2005-12-26 |
71 | Boat Trip | 700 | AVI | 2007-02-09 |
72 | Bond 01 - Dr. No | 695 | AVI | 2006-11-24 |
73 | Bond 02 - From Russia with Love | 700 | AVI | 2006-11-24 |
74 | Bond 03 - Goldfinger | 688 | AVI | 2006-11-24 |
75 | Bond 04 - Thunderball | 898 | AVI | 2006-11-24 |
76 | Bond 05 - You Only Live Twice | 618 | AVI | 2006-11-24 |
77 | Bond 06 - On Her Majesty's Secret Service | 687 | AVI | 2006-11-24 |
78 | Bond 07 - Diamonds Are Forever | 683 | AVI | 2006-11-24 |
79 | Bond 08 - Live And Let Die | 686 | AVI | 2006-11-24 |
80 | Bond 09 - The Man With The Golden Gun | 701 | AVI | 2006-11-24 |
81 | Bond 10 - The Spy Who Loved Me | 686 | AVI | 2006-11-24 |
82 | Bond 11 - Moonraker | 686 | AVI | 2006-11-24 |
83 | Bond 12 - For Your Eyes Only | 664 | AVI | 2006-11-24 |
84 | Bond 13 - Octopussy | 699 | AVI | 2006-11-24 |
85 | Bond 14 - A View To A Kill | 701 | AVI | 2006-11-24 |
86 | Bond 15 - The Living Daylights | 703 | AVI | 2006-11-24 |
87 | Bond 16 - Licence to Kill | 703 | AVI | 2006-11-24 |
88 | Bond 17 - Goldeneye | 701, 699 | AVI | 2006-11-24 |
89 | Bond 18 - Tomorrow Never Dies | 606 | AVI | 2006-11-24 |
90 | Bond 19 - The world is not enough | 628 | AVI | 2006-11-24 |
91 | Bond 20 - Die Another Day | 700, 699 | AVI | 2006-11-24 |
92 | Bond 21 - Casino Royale | 802 | AVI | 2007-03-28 |
93 | Bone Collector | 695 | AVI | 2005-12-26 |
94 | Borat | 700 | AVI | 2007-03-21 |
95 | Bourne Identity | 700 | AVI | 2005-12-26 |
96 | Bourne Supremacy, The | 680 | AVI | 2006-09-09 |
97 | Braveheart | 700, 698 | AVI | 2006-08-09 |
98 | Brazil | 699, 700 | AVI | 2006-07-16 |
99 | Break-Up, The | 702 | AVI | 2006-11-27 |
100 | Breakfast Club, The | 724 | AVI | 2006-08-18 |
101 | Breathless | 700 | AVI | 2006-08-21 |
102 | Bridges Of Madison County, The | 697 | AVI | 2006-12-08 |
103 | Bridget Jones's Diary | 701 | AVI | 2007-02-07 |
104 | Brokeback Mountain | 954 | AVI | 2006-03-17 |
105 | Broken Flowers | 698, 702 | AVI | 2005-12-26 |
106 | Bruce Almighty | 700 | AVI | 2005-12-26 |
107 | Butterfly Effect | 700 | AVI | 2006-12-08 |
108 | Butterfly Effect 2 | 701 | AVI | 2006-12-08 |
109 | Cape Fear | 1000 | AVI | 2007-01-31 |
110 | Carlito's Way | 697, 697 | AVI | 2006-10-24 |
111 | Cars | 702 | AVI | 2006-12-04 |
112 | Casablanca | 697 | AVI | 2005-12-26 |
113 | Catch Me If You Can | 699, 697 | AVI | 2006-03-27 |
114 | Catwoman | 700 | AVI | 2005-12-26 |
115 | Cellular | 700 | AVI | 2007-02-27 |
116 | Chaos | 702 | AVI | 2007-01-03 |
117 | Charlie and the Chocolate Factory | 1400 | AVI | 2006-03-07 |
118 | Charlie's Angels 2 - Full Throttle | 694 | AVI | 2005-12-26 |
119 | Chicken Little | 700 | AVI | 2005-12-26 |
120 | Chicken Run | 349 | AVI | 2005-12-26 |
121 | Children of Men | 702 | AVI | 2007-02-09 |
122 | Children of Meno | 702 | AVI | 2007-02-09 |
123 | Chinatown | 887 | AVI | 2006-04-28 |
124 | Chocolat | 680, 698 | AVI | 2006-04-01 |
125 | Chronicles of Narnia - The Lion, the Witch and the Wardrobe | 701, 699 | AVI | 2006-04-08 |
126 | Chronicles of Riddick, The | 700 | AVI | 2006-07-08 |
127 | Chronicles of Riddick, The - Dark Fury | 576 | AVI | 2006-07-07 |
128 | Cirque Du Soleil - Quidam | 701 | AVI | 2007-01-03 |
129 | Citizen Kane | 683 | AVI | 2005-12-26 |
130 | City of Angels | 701 | AVI | 2005-12-26 |
131 | Click | 702 | AVI | 2007-02-09 |
132 | Clockwork Orange, A | 625 | AVI | 2005-12-26 |
133 | Closer | 700 | AVI | 2006-12-10 |
134 | Coffee And Cigarettes | 701 | AVI | 2006-09-09 |
135 | Cold Mountain | 998 | AVI | 2007-02-18 |
136 | Collateral | 700 | AVI | 2005-12-26 |
137 | Con Air | 670 | AVI | 2005-12-26 |
138 | Confession of Pain | 698 | AVI | 2007-03-02 |
139 | Constant Gardener, The | 701 | AVI | 2006-04-14 |
140 | Constantine | 694, 693 | AVI | 2007-02-27 |
141 | Contact | 710 | AVI | 2006-04-28 |
142 | Count of Monte Cristo, The | 1563 | AVI | 2007-01-01 |
143 | Crank | 700 | AVI | 2007-02-09 |
144 | Crash | 700 | AVI | 2006-03-10 |
145 | Crimson Tide | 778 | AVI | 2006-08-02 |
146 | Crouching Tiger, Hidden Dragon | 801 | AVI | 2006-05-24 |
147 | Cruel Intentions | 493 | AVI | 2007-02-07 |
148 | Cube | 629 | AVI | 2005-12-26 |
149 | Curse of the Golden Flower | 701 | AVI | 2007-04-20 |
150 | Da Vinci Code | 900 | AVI | 2007-02-18 |
151 | Dancer In The Dark | 721 | AVI | 2006-02-21 |
152 | Dancer Upstairs, The | 674, 675 | AVI | 2006-01-19 |
153 | Dances with Wolves - Special Edition | 1380, 1299 | AVI | 2005-12-26 |
154 | Daredevil | 700 | AVI | 2003-06-06 |
155 | Dark City | 689 | AVI | 2005-12-26 |
156 | Dead Man | 676 | AVI | 2006-04-28 |
157 | Dead Poets Society | 649 | AVI | 2006-02-26 |
158 | Decalogue (Dekalog) | 546, 568, 563, 554, 572, 591, 551, 543, 583, 569 | VCD | 2006-11-24 |
159 | Departed, The | 1505 | AVI | 2007-03-19 |
160 | Derailed | 700 | AVI | 2006-05-03 |
161 | Desperado | 800 | AVI | 2006-11-30 |
162 | Devdas | 1398 | AVI | 2006-10-02 |
163 | Devil's Advocate, The | 581 | AVI | 2005-12-26 |
164 | Dick Tracy | 700, 80 | AVI | 2005-12-26 |
165 | Dirty Harry | 695 | AVI | 2006-11-24 |
166 | Dirty Harry 2 - Magnum Force | 697 | AVI | 2006-11-24 |
167 | Dirty Harry 3 - The Enforcer | 696 | AVI | 2006-11-24 |
168 | Dirty Harry 4 - Sudden Impact | 682 | AVI | 2006-11-24 |
169 | Dirty Pretty Things | 700 | AVI | 2007-03-01 |
170 | Disclosure | 697 | AVI | 2006-04-28 |
171 | Dog Day Afternoon | 688 | AVI | 2006-04-28 |
172 | Dogma | 561 | AVI | 2006-05-02 |
173 | Dogville | 1000 | AVI | 2006-11-30 |
174 | Domino | 701 | AVI | 2006-03-20 |
175 | Donnie Darko | 699 | AVI | 2005-11-17 |
176 | Doom | 700, 701 | AVI | 2006-04-27 |
177 | Dr. Strangelove | 713 | AVI | 2005-12-26 |
178 | Dreamer | 699 | AVI | 2007-02-09 |
179 | Dreamers, The | 700 | AVI | 2006-02-10 |
180 | Edward Scissorhands | 700 | AVI | 2005-12-26 |
181 | Elektra | 701 | AVI | 2005-12-26 |
182 | Elephant | 701 | AVI | 2006-04-07 |
183 | Elizabeth | 699 | AVI | 2006-03-05 |
184 | Elizabethtown | 1100 | AVI | 2007-01-31 |
185 | Entrapment | 697 | AVI | 2005-12-26 |
186 | Equilibrium | 664 | AVI | 2005-12-26 |
187 | Equilibrium - Making of | 38 | AVI | 2005-12-26 |
188 | Eragon | 701 | AVI | 2007-03-16 |
189 | ET | 699 | AVI | 2006-01-14 |
190 | Eternal Sunshine of the Spotless Mind | 700 | AVI | 2007-01-31 |
191 | Eurotrip | 701 | AVI | 2006-06-28 |
192 | Exorcism of Emily Rose | 700 | AVI | 2006-10-25 |
193 | Eyes Wide Shut | 1239 | AVI | 2006-02-11 |
194 | Fabuleux destin d'Amélie Poulain, Le | 704 | AVI | 2005-12-26 |
195 | Falling Down | 700, 699 | AVI | 2005-12-26 |
196 | Family Man, The | 697 | AVI | 2006-01-19 |
197 | Fantasia | 696 | AVI | 2006-03-27 |
198 | Fantasia 2000 | 620 | AVI | 2006-03-27 |
199 | Fantastic Four | 699 | AVI | 2005-12-26 |
200 | Fast and Furious | 700 | AVI | 2005-12-26 |
201 | Fear And Loathing in Las Vegas | 694 | AVI | 2006-05-09 |
202 | Femme Fatale | 698 | AVI | 2005-12-26 |
203 | Few Good Men, A | 701 | AVI | 2006-04-28 |
204 | Fifth Element, The | 1100 | AVI | 2006-09-11 |
205 | Fight Club | 693 | AVI | 2005-12-26 |
206 | Final Fantasy VII - Advent Children | 699 | AVI | 2005-11-21 |
207 | Final Fantasy: The Spirits Within | 700 | AVI | 2002-01-07 |
208 | Finding Nemo | 700 | AVI | 2005-12-26 |
209 | First Daughter | 690 | AVI | 2006-05-06 |
210 | Flight Plan | 697 | AVI | 2006-08-10 |
211 | Forrest Gump | 704 | AVI | 2005-12-26 |
212 | Forrest Gump | 1405 | AVI | 2007-01-31 |
213 | Four Weddings and a Funeral | 1140 | AVI | 2006-05-10 |
214 | Freaky Friday | 700 | AVI | 2005-12-26 |
215 | Freddy vs Jason | 697 | AVI | 2005-12-26 |
216 | Frenzy | 695 | AVI | 2006-12-22 |
217 | From Hell | 672 | AVI | 2006-04-28 |
218 | Full Metal Jacket | 635 | AVI | 2005-12-26 |
219 | Fun with Dick and Jane | 700 | AVI | 2006-04-13 |
220 | Game, The | 694 | AVI | 2005-12-26 |
221 | Gangs of New York | 700, 695 | AVI | 2006-01-19 |
222 | Garfield | 700 | AVI | 2005-12-26 |
223 | Gattaca | 699 | AVI | 2006-06-29 |
224 | Girl Next Door, The | 697 | AVI | 2007-02-09 |
225 | Gladiator | 762 | AVI | 2005-12-26 |
226 | Glengarry Glen Ross | 1644 | AVI | 2006-04-28 |
227 | Godfather, The | 692, 701 | AVI | 2006-11-24 |
228 | Godfather, The - Part II | 697 | AVI | 2006-11-24 |
229 | Godfather, The - Part III | 692, 675 | AVI | 2006-11-24 |
230 | Good Fellas | 701 | AVI | 2005-12-26 |
231 | Good Night And Good Luck | 700 | AVI | 2006-04-05 |
232 | Good, Bad, Ugly | 667, 614 | AVI | 2005-12-26 |
233 | Graduate, The | 673 | AVI | 2007-02-16 |
234 | Grease | 699 | AVI | 2006-10-02 |
235 | Grease, Making of | 200 | AVI | 2007-01-31 |
236 | Great Dictator, The | 698 | AVI | 2005-12-26 |
237 | Great Expectations | 696 | AVI | 2006-07-05 |
238 | Great Expectations | 541, 576 | VCD | 2006-11-24 |
239 | Groundhog Day | 1493 | AVI | 2006-04-11 |
240 | Guy Thing, A | 642 | AVI | 2005-12-26 |
241 | HAMLET | 900 | AVI | 2007-02-01 |
242 | Happy Feet | 698 | AVI | 2007-02-26 |
243 | Hard Luck | 701 | AVI | 2007-01-05 |
244 | Harry Potter and the Chamber of Secrets | 698 | AVI | 2006-11-24 |
245 | Harry Potter and the Goblet of Fire | 700 | AVI | 2006-11-24 |
246 | Harry Potter and the Prisoner of Azkaban | 700 | AVI | 2006-11-24 |
247 | Harry Potter and the Sorcerer's Stone | 699 | AVI | 2006-11-24 |
248 | Harsh Times | 703 | AVI | 2007-03-16 |
249 | Heat | 687 | AVI | 2005-12-26 |
250 | Hellboy | 699 | AVI | 2006-12-30 |
251 | Hercules | 626 | AVI | 2005-12-26 |
252 | Hero (Ying Xiong) | 701 | AVI | 2005-12-26 |
253 | High Crimes | 999 | AVI | 2007-03-16 |
254 | High Fidelity | 700 | AVI | 2007-01-27 |
255 | Hire, The - Ambush | 129 | AVI | 2006-11-24 |
256 | Hire, The - Beat the Devil | 244 | AVI | 2006-11-24 |
257 | Hire, The - Chosen | 110 | AVI | 2006-11-24 |
258 | Hire, The - Powder Keg | 282 | AVI | 2006-11-24 |
259 | Hire, The - Star | 174 | AVI | 2006-11-24 |
260 | Hire, The - The Follow | 139 | AVI | 2006-11-24 |
261 | Hire, The - The Hostage | 178 | AVI | 2006-11-24 |
262 | Hire, The - Ticker | 188 | AVI | 2006-11-24 |
263 | History of Violence, A | 700 | AVI | 2006-03-10 |
264 | Hitch | 695, 693 | AVI | 2005-12-26 |
265 | Hitchhikers Guide to the Galaxy, The | 701, 693 | AVI | 2005-11-17 |
266 | Hook | 705 | AVI | 2006-07-31 |
267 | Hostage, The | 880 | AVI | 2006-12-08 |
268 | Hostel | 701 | AVI | 2006-04-25 |
269 | House of Flying Daggers | 700, 701 | AVI | 2006-04-29 |
270 | Howl's Moving Castle (Hauru no Ugoku Shiro) | 599 | AVI | 2006-02-13 |
271 | Hulk, The | 699 | AVI | 2005-12-26 |
272 | Human Stain, The | 689 | AVI | 2005-12-26 |
273 | I, Robot | 700 | AVI | 2005-12-26 |
274 | Ice Age | 703 | AVI | 2007-02-20 |
275 | Ice Age | 698 | OGM | 2007-03-16 |
276 | Ice Age - The Meltdown | 697 | AVI | 2006-07-31 |
277 | Ice Age - The Meltdown | 700 | AVI | 2006-12-03 |
278 | Identity | 700 | AVI | 2005-12-26 |
279 | Illusionist, The | 700 | AVI | 2007-01-14 |
280 | Immortel | 691 | AVI | 2006-04-11 |
281 | In Good Company | 792 | AVI | 2005-12-26 |
282 | Independence Day | 694 | AVI | 2005-12-26 |
283 | Indiana Jones and the Last Crusade | 1399 | AVI | 2007-01-16 |
284 | Indiana Jones and the Last Crusade | 1400 | MOV | 2006-11-24 |
285 | Indiana Jones and the Temple of Doom | 1395 | AVI | 2007-01-19 |
286 | Indiana Jones and the Temple of Doom | 1398 | MOV | 2006-11-24 |
287 | Indiana Jones, Making of | 1405 | AVI | 2007-01-20 |
288 | Inside Man | 701 | AVI | 2006-07-28 |
289 | Intersection | 700 | AVI | 2007-01-20 |
290 | Interview with a Vampire | 703 | AVI | 2005-12-26 |
291 | Into the Blue | 700 | AVI | 2006-03-14 |
292 | Irreversible | 699 | AVI | 2005-12-26 |
293 | Island, The | 701 | AVI | 2007-01-29 |
294 | It's a Wonderful Life | 609 | AVI | 2007-01-04 |
295 | Italian Job | 697 | AVI | 2005-12-26 |
296 | J. S. Bach | 699 | AVI | 2006-09-30 |
297 | Jackie Brown | 1401 | AVI | 2005-12-26 |
298 | Jay and Silent Bob Strike Back | 699 | AVI | 2005-12-26 |
299 | Joe Versus the Volcano | 700 | AVI | 2005-12-26 |
300 | Johnny English | 700 | AVI | 2005-12-26 |
301 | Jungle Book, The | 625 | AVI | 2005-12-26 |
302 | Kiki's Delivery Service | 700 | AVI | 2007-01-04 |
303 | Kill Bill vol. 1 | 700 | AVI | 2005-12-26 |
304 | Kill Bill vol. 2 | 697, 697 | AVI | 2005-11-19 |
305 | King Arthur | 701 | AVI | 2005-12-26 |
306 | King Kong | 700, 700 | AVI | 2006-04-02 |
307 | Kingdom of Heaven | 1000 | AVI | 2006-12-30 |
308 | Kiss Kiss - Bang Bang | 701 | AVI | 2006-09-13 |
309 | L.A. Confidential | 1100 | AVI | 2007-03-19 |
310 | Lady in the Water | 695 | AVI | 2007-04-19 |
311 | Lady Killers | 700 | AVI | 2005-12-26 |
312 | Land of Dead | 700 | AVI | 2005-12-26 |
313 | Last Samurai, The | 698 | AVI | 2006-07-05 |
314 | Last Tango In Paris, The | 702 | AVI | 2006-01-19 |
315 | Laws of Attraction | 700 | AVI | 2005-12-26 |
316 | Layer Cake | 702 | AVI | 2005-12-26 |
317 | League of Extraordinary Gentlemen | 700, 700 | AVI | 2005-12-26 |
318 | Legend of 1900 | 699, 698, 697 | AVI | 2007-02-26 |
319 | Legend of Zorro | 700 | AVI | 2007-01-20 |
320 | Lemony Snicket's A Series of Unfortunate Events | 651 | AVI | 2005-12-26 |
321 | Leon | 570 | AVI | 2005-12-26 |
322 | Liar Liar | 690 | AVI | 2005-12-26 |
323 | Libertine, The | 697 | AVI | 2007-02-01 |
324 | Lie with Me | 703 | AVI | 2007-01-01 |
325 | Life is Beautiful | 705 | AVI | 2005-12-26 |
326 | Little Miss Sunshine | 701 | AVI | 2007-02-09 |
327 | Lock, Stock and Two Smoking Barrels | 700 | AVI | 2006-03-12 |
328 | Lock, Stock and Two Smoking Barrels - Director's Cut | 771 | VCD | 2006-11-24 |
329 | Loose Change | 1390 | AVI | 2007-02-28 |
330 | Lord of the Rings - Fellowship of the Ring - Extended Edition | 701, 701, 570 | AVI | 2006-11-24 |
331 | Lord of the Rings - Return of the King - Extended Edition | 702, 696, 700 | AVI | 2006-02-13 |
332 | Lord of the Rings - The Two Towers - Extended Edition | 697, 697, 697 | AVI | 2006-02-21 |
333 | Lord of War | 701 | AVI | 2006-02-28 |
334 | Lost Highway | 694 | AVI | 2005-11-17 |
335 | Lost in Translation | 700 | AVI | 2005-12-26 |
336 | Love Actually | 700 | AVI | 2005-12-26 |
337 | Love Story | 700 | AVI | 2007-02-01 |
338 | Lucky Number Slevin | 697 | AVI | 2006-08-06 |
339 | Machinist, The | 699, 698 | AVI | 2006-03-05 |
340 | Malena | 699 | AVI | 2006-06-28 |
341 | Maltese Falcon, The | 700 | AVI | 2006-08-16 |
342 | Man on Fire | 700, 698 | AVI | 2005-12-26 |
343 | March of the Penguins | 700 | AVI | 2006-07-26 |
344 | Marie Antoinette | 696 | AVI | 2007-02-09 |
345 | Marry Poppins | 698, 699 | AVI | 2006-01-15 |
346 | Matador, The | 700 | AVI | 2006-08-09 |
347 | Match Point | 699 | AVI | 2006-12-30 |
348 | Matchstick Men | 700 | AVI | 2007-02-20 |
349 | Matrix Reloaded | 349 | AVI | 2005-12-26 |
350 | Matrix Revolutions | 349 | AVI | 2005-12-26 |
351 | Matrix, The | 578 | AVI | 2005-12-26 |
352 | Me, Myself And Irene | 701 | AVI | 2005-12-26 |
353 | Meet the Fockers | 411, 755 | VCD | 2006-11-24 |
354 | Meet The Parents | 700 | AVI | 2005-12-26 |
355 | Memento | 692 | AVI | 2005-12-26 |
356 | Memoirs of a Geisha | 696, 698 | AVI | 2006-03-14 |
357 | Merchant of Venice | 699 | AVI | 2005-12-26 |
358 | Metropolis (2001) | 1399 | AVI | 2006-07-07 |
359 | Miller's Crossing | 1781 | AVI | 2007-02-21 |
360 | Minority Report | 656 | AVI | 2006-09-23 |
361 | Mission Impossible 3 | 702 | AVI | 2006-12-09 |
362 | Modern Times | 691 | AVI | 2005-12-26 |
363 | Monty Python and the Holy Grail | 700 | AVI | 2006-04-16 |
364 | Mr. & Mrs. Smith | 701 | AVI | 2006-08-01 |
365 | Mrs. Doubtfire | 706, 579, 301 | AVI | 2006-02-16 |
366 | MTV Icon '03 | 660 | MPEG | 2007-03-31 |
367 | Mulan | 553 | AVI | 2005-12-26 |
368 | Mulholland Dr. | 1543 | AVI | 2006-06-06 |
369 | Mummy | 699 | AVI | 2005-12-26 |
370 | Mummy Returns | 699 | AVI | 2005-12-26 |
371 | Munich | 701, 700 | AVI | 2006-05-12 |
372 | My Best Friend's Wedding | 701 | AVI | 2007-02-07 |
373 | My Fair Lady | 698, 699 | AVI | 2006-01-15 |
374 | Nacho Libre | 700 | AVI | 2006-12-25 |
375 | National Security | 700 | AVI | 2005-12-26 |
376 | Natural Born Killers - Director's Cut | 701 | AVI | 2006-03-04 |
377 | Neverending Story II, The | 702 | AVI | 2006-07-31 |
378 | Neverending Story III, The | 697 | AVI | 2006-08-01 |
379 | Neverending Story, The | 897 | AVI | 2006-07-31 |
380 | New Guy, The | 701 | AVI | 2006-02-09 |
381 | Night at the Museum | 690 | AVI | 2007-03-16 |
382 | Nightmare Before Christmas, The | 694 | AVI | 2006-03-27 |
383 | Nuovo Cinema Paradiso | 800 | AVI | 2006-11-30 |
384 | Ocean's Eleven | 690 | AVI | 2005-12-26 |
385 | Ocean's Twelve | 689 | AVI | 2005-12-26 |
386 | Of Penguins And Men | 699 | AVI | 2006-07-26 |
387 | Offside | 700 | AVI | 2006-09-30 |
388 | Oldboy | 696 | OGM | 2005-12-26 |
389 | Omen, The | 699 | AVI | 2006-08-11 |
390 | One Flew Over The Cuckoo's Nest | 701 | AVI | 2005-12-26 |
391 | Others | 917 | AVI | 2005-12-26 |
392 | Over the Hedge | 700 | AVI | 2006-11-14 |
393 | Pan's Labyrinth | 701, 700 | AVI | 2007-03-02 |
394 | Panic Room | 699 | AVI | 2006-08-17 |
395 | Paparazzi | 700 | AVI | 2005-12-26 |
396 | Paradise Now | 689 | AVI | 2006-03-30 |
397 | Passion | 648 | AVI | 2005-12-26 |
398 | Patch Adams | 701 | AVI | 2006-02-25 |
399 | Pay it forward | 669 | AVI | 2006-03-27 |
400 | People I Know | 701 | AVI | 2006-04-28 |
401 | Perfect Murder, A | 696 | AVI | 2007-02-07 |
402 | Philadelphia | 668 | AVI | 2006-07-05 |
403 | Phone Booth | 705 | AVI | 2006-12-10 |
404 | PI | 622 | AVI | 2006-04-12 |
405 | Pianist, The | 700, 700 | VCD | 2006-11-24 |
406 | Pink Panther, The | 699 | AVI | 2006-10-24 |
407 | Pirates of the Caribbean - Dead Man's Chest | 900 | AVI | 2006-11-26 |
408 | Pitch Black | 700 | AVI | 2006-07-06 |
409 | Platoon | 655 | AVI | 2005-12-26 |
410 | Prestige, The | 701 | AVI | 2007-01-30 |
411 | Pretty Woman | 702 | AVI | 2006-06-28 |
412 | Pride and Prejudice | 701 | AVI | 2006-03-27 |
413 | Princess Mononoke | 674 | AVI | 2006-05-16 |
414 | Proof | 700 | AVI | 2006-10-24 |
415 | Pulp Fiction | 659 | AVI | 2005-12-26 |
416 | Punisher | 700 | AVI | 2007-02-21 |
417 | Quiet, The | 700 | AVI | 2007-03-02 |
418 | Raiders of the Lost Ark | 1400 | AVI | 2007-01-17 |
419 | Raiders of the Lost Ark | 1399 | MOV | 2006-11-24 |
420 | Rainman | 699 | AVI | 2005-12-26 |
421 | Ran | 677, 688 | AVI | 2006-06-23 |
422 | Ransom | 700, 698 | AVI | 2006-06-07 |
423 | Rashomon | 568 | AVI | 2006-07-05 |
424 | Recruit | 704 | AVI | 2005-12-26 |
425 | Reservoir Dogs | 507 | AVI | 2005-12-26 |
426 | Revenge | 625, 625 | VCD | 2006-11-24 |
427 | Revolution OS | 654 | AVI | 2005-12-26 |
428 | Revolver | 624, 460 | VCD | 2006-11-24 |
429 | Robin Hood | 700 | AVI | 2006-03-22 |
430 | Rocky Balboa | 700 | AVI | 2007-02-21 |
431 | Ronin | 1484 | AVI | 2006-01-27 |
432 | Royal Tenenbaums, The | 985 | AVI | 2006-09-03 |
433 | Running Scared | 700 | AVI | 2006-11-20 |
434 | Saving Private Ryan | 679 | AVI | 2005-12-26 |
435 | Saw | 700 | AVI | 2005-11-17 |
436 | Saw II | 700 | AVI | 2006-08-30 |
437 | Saw III | 702 | AVI | 2007-03-19 |
438 | Scanner Darkly, A | 698 | AVI | 2006-12-09 |
439 | Scanners | 699 | AVI | 2006-04-13 |
440 | Scanners II - The New Order | 699 | AVI | 2006-04-23 |
441 | Scarface | 697, 697 | AVI | 2006-04-07 |
442 | Scary Movie 4 | 702 | AVI | 2006-12-11 |
443 | Scent of a Woman | 658, 658, 241 | VCD | 2006-11-24 |
444 | Schindler's List | 699, 700, 689 | AVI | 2005-12-26 |
445 | School for Scoundrels | 700 | AVI | 2007-02-26 |
446 | Scorched | 699 | AVI | 2006-10-25 |
447 | Scorpion King | 699 | AVI | 2005-12-26 |
448 | Scream | 699 | AVI | 2006-01-31 |
449 | Scream 2 | 699 | AVI | 2006-01-31 |
450 | Scream 3 | 699 | AVI | 2006-06-04 |
451 | SE7EN | 544 | AVI | 2005-12-26 |
452 | Sense and Sensibility | 730 | AVI | 2006-06-07 |
453 | Sentinel, The | 700 | AVI | 2006-11-22 |
454 | Serendipity | 690 | AVI | 2005-12-26 |
455 | Serenity | 702 | AVI | 2006-05-13 |
456 | Seven Samurai | 691, 688 | AVI | 2006-06-23 |
457 | Seven Years in Tibbet | 700 | AVI | 2006-06-07 |
458 | Sexo Con Amor | 700 | AVI | 2005-12-26 |
459 | Sexy Beast | 692 | AVI | 2006-08-16 |
460 | Shakespeare in Love | 699 | AVI | 2005-12-26 |
461 | Shawshank Redemption, The | 707 | AVI | 2005-12-26 |
462 | Shining | 700 | AVI | 2005-12-26 |
463 | Shining - Making of | 345 | AVI | 2005-12-26 |
464 | Shinobi | 697 | AVI | 2006-10-24 |
465 | Shrek 2 | 427, 427 | VCD | 2006-11-24 |
466 | Silence of the Lambs | 587 | AVI | 2005-12-26 |
467 | Simone | 700, 699 | AVI | 2007-02-07 |
468 | Sin City | 679, 682 | AVI | 2005-11-19 |
469 | Sinbad | 700 | AVI | 2005-12-26 |
470 | Skeleton Key, The | 701 | AVI | 2005-12-26 |
471 | Sleepless in Seattle | 700 | AVI | 2007-02-01 |
472 | Smokin' Aces | 701 | AVI | 2007-04-13 |
473 | Snatch | 703 | AVI | 2005-12-26 |
474 | Sneakers | 669 | AVI | 2006-07-05 |
475 | Sound of Music, The | 620, 548 | AVI | 2005-12-26 |
476 | Spartan | 700, 700 | AVI | 2006-03-15 |
477 | Specialist, The | 745 | AVI | 2006-06-28 |
478 | Speed | 700 | AVI | 2006-07-05 |
479 | Spiderman | 699 | AVI | 2006-07-07 |
480 | Spiderman 2 | 645, 640 | VCD | 2006-11-24 |
481 | Spirited Away | 700, 699 | OGM | 2006-06-07 |
482 | SpyGame | 699 | AVI | 2005-12-26 |
483 | Stalker | 703, 701 | AVI | 2006-11-24 |
484 | Star Wars Episode I - The Phantom Menace | 776 | AVI | 2006-11-24 |
485 | Star Wars Episode II - Attack of the Clones | 1484 | AVI | 2006-11-24 |
486 | Star Wars Episode III - Revenge of the Sith | 697, 696 | AVI | 2006-11-24 |
487 | Star Wars Episode IV - A New Hope | 702 | AVI | 2006-11-24 |
488 | Star Wars Episode V - The Empire Strikes Back | 694 | AVI | 2006-11-24 |
489 | Star Wars Episode VI - Return of the Jedi | 713 | AVI | 2006-11-24 |
490 | Starsky and Hutch | 697 | AVI | 2006-04-13 |
491 | Stay | 700 | AVI | 2007-03-02 |
492 | Stigmata | 685 | AVI | 2006-10-28 |
493 | Stolen Kisses | 701 | AVI | 2007-02-07 |
494 | Straight Story, The | 719 | AVI | 2006-11-15 |
495 | Strings | 700 | AVI | 2005-12-26 |
496 | Sublime | 701 | AVI | 2007-03-20 |
497 | Superman Returns | 902 | AVI | 2006-12-20 |
498 | Swordfish | 700 | AVI | 2005-12-26 |
499 | Sympathy for Lady Vengeance | 700, 700 | AVI | 2006-05-29 |
500 | Sympathy for Mr. Vengeance | 701 | AVI | 2006-05-28 |
501 | Syriana | 696, 698 | AVI | 2006-03-31 |
502 | Taking Lives | 744 | AVI | 2006-06-28 |
503 | Talented Mr. Ripley | 739, 664 | VCD | 2006-11-24 |
504 | Talladega Nights | 700 | AVI | 2006-12-30 |
505 | Taxi Driver | 699 | AVI | 2005-12-26 |
506 | Taxi Driver - Making of | 700 | AVI | 2005-12-26 |
507 | Team America: World Police | 699 | AVI | 2007-01-12 |
508 | Terminal | 697 | AVI | 2005-12-26 |
509 | Terminator | 700 | AVI | 2005-12-26 |
510 | Terminator 2 - Judgement Day | 699 | AVI | 2005-12-26 |
511 | Terminator 3 - Rise of the Machines | 699 | AVI | 2005-12-26 |
512 | Thomas Crown Affair, The | 880 | AVI | 2006-12-08 |
513 | Three | 701 | AVI | 2006-10-25 |
514 | Three Extremes | 701, 701 | AVI | 2005-12-26 |
515 | Tim Burton's Corpse Bride | 699 | AVI | 2006-03-27 |
516 | Timeline | 695 | AVI | 2006-12-08 |
517 | Titanic | 700, 698 | AVI | 2005-12-26 |
518 | To Kill A Mocking Bird | 703 | AVI | 2006-12-22 |
519 | Top Gun | 700 | AVI | 2005-12-26 |
520 | Trainspotting | 388 | AVI | 2005-11-17 |
521 | Transporter | 700 | AVI | 2005-12-26 |
522 | Transporter 2 | 676 | AVI | 2005-12-26 |
523 | Treasure Planet | 697 | AVI | 2005-12-26 |
524 | Trois Couleurs - Blanc | 698 | AVI | 2006-11-17 |
525 | Trois Couleurs - Bleu | 702 | AVI | 2006-11-13 |
526 | True Romance | 701 | AVI | 2006-01-19 |
527 | Truman Show, The | 667 | AVI | 2005-12-26 |
528 | Tsotsi | 700 | AVI | 2006-04-01 |
529 | Twelve Monkeys | 705, 705 | AVI | 2006-06-03 |
530 | Twisted | 686 | AVI | 2005-12-26 |
531 | U Turn | 897 | AVI | 2006-12-15 |
532 | Ultraviolet | 701 | AVI | 2006-07-31 |
533 | Unforgiven | 700 | AVI | 2005-12-26 |
534 | Unleashed | 700 | AVI | 2006-01-15 |
535 | Untouchables, The | 707 | AVI | 2006-06-07 |
536 | Usual Suspects, The | 634 | AVI | 2005-12-26 |
537 | V for Vendetta | 700, 700 | AVI | 2006-07-19 |
538 | Vatel | 800 | AVI | 2007-03-19 |
539 | Vertigo | 609, 677 | VCD | 2006-11-24 |
540 | Very Long Engagement, A | 700 | AVI | 2006-10-24 |
541 | Videodrome | 659 | AVI | 2006-08-13 |
542 | Walk the Line | 701 | AVI | 2006-04-03 |
543 | Walking Tall | 700 | AVI | 2005-12-26 |
544 | Wall, The | 701 | AVI | 2007-04-01 |
545 | Wallace and Gromit in the Curse of the Were-Rabbit | 699 | AVI | 2006-03-27 |
546 | War of the Worlds | 700, 701 | AVI | 2006-01-03 |
547 | Waterworld | 681 | AVI | 2006-11-24 |
548 | Wedding Crashers | 781 | AVI | 2005-12-23 |
549 | What Dreams May Come | 696 | AVI | 2005-12-26 |
550 | What Lies Beneath | 731 | AVI | 2005-12-26 |
551 | What Women Want | 701 | AVI | 2005-12-26 |
552 | Wheels on Meals | 699 | AVI | 2007-02-16 |
553 | Where Eagles Dare | 700, 692 | AVI | 2006-07-05 |
554 | Who Framed Roger Rabbit? | 718 | AVI | 2006-02-02 |
555 | Whole Ten Yards | 969 | MPEG | 2006-11-24 |
556 | Windstruck | 701 | AVI | 2006-12-22 |
557 | Wolf | 658, 603 | VCD | 2006-11-24 |
558 | Wuthering Heights | 696 | AVI | 2005-12-26 |
559 | X-MEN | 701 | AVI | 2006-11-24 |
560 | X-MEN - The Last Stand | 702 | AVI | 2006-12-10 |
561 | X2 | 693 | AVI | 2006-11-24 |
562 | xXx | 699 | AVI | 2006-11-24 |
563 | Yojimbo | 699 | AVI | 2006-07-05 |
564 | You, Me and Dupree | 702 | AVI | 2006-11-19 |
565 | Zombie Honeymoon | 540 | AVI | 2007-02-01 |
566 | Zorba The Greek | 699 | AVI | 2007-01-12 |
Total size | 459.83 GiB |
Wednesday, April 18, 2007
And Nothing Else
The S&M version of Nothing Else Matters is just awesome!
That's it, and I don't care how stupid that remark is considered by other fans. I have nothing more the say!
That's it, and I don't care how stupid that remark is considered by other fans. I have nothing more the say!
Thursday, April 12, 2007
Boost 1.34 is Near
If you program in C++, and you've been doing so for more than a year, and you do not know about or use the Boost libraries, you're missing the point of C++. Go get it. Please do so!
It's not just that boost libraries are very useful as tools, but also the fact that even reading the prefaces to the documentation gives you insight into software design in general and C++ programming in particular. Delving into the source is an eye-opener for any C++ programmer who thinks he/she knows the language.
The parts are so useful that I've been using them (or wishing to be able to use them) in all my projects in the past year. And it's expanding by the week. Also, many of the libraries that are currently part of Boost, have been accepted into the standard library of the next version of C++ language, what people call C++0x (because it will hopefully come out before 2010, but we don't know when.)
From the traffic on the boost developers' mailing list (which is very high volume and highly technical, certainly higher than my level,) it seems that the 1.34 version is near (the current version is 1.33.1) which will contain many new parts, most notably asio. Of course, you can get all the bleeding edge stuff mostly from their respective homes, and definitely from the boost CVS repository (which I do,) but keeping your compiled versions up-to-date where a full rebuild takes 20 minutes on my system, in addition to the chance of slight incompatibilities is a bit more than I'm prepared to take on my plate.
Anyway, go and check it out if you're not already familiar with it. See the amazing stuff these people are doing. Maybe I'll try to write about some of the boost libraries that I'm more familiar with. Maybe!
The parts are so useful that I've been using them (or wishing to be able to use them) in all my projects in the past year. And it's expanding by the week. Also, many of the libraries that are currently part of Boost, have been accepted into the standard library of the next version of C++ language, what people call C++0x (because it will hopefully come out before 2010, but we don't know when.)
From the traffic on the boost developers' mailing list (which is very high volume and highly technical, certainly higher than my level,) it seems that the 1.34 version is near (the current version is 1.33.1) which will contain many new parts, most notably asio. Of course, you can get all the bleeding edge stuff mostly from their respective homes, and definitely from the boost CVS repository (which I do,) but keeping your compiled versions up-to-date where a full rebuild takes 20 minutes on my system, in addition to the chance of slight incompatibilities is a bit more than I'm prepared to take on my plate.
Anyway, go and check it out if you're not already familiar with it. See the amazing stuff these people are doing. Maybe I'll try to write about some of the boost libraries that I'm more familiar with. Maybe!
Sunday, April 01, 2007
Must We Multi-thread? (Part 3)
Up to this point, we've talked about how processor clock speeds are not advancing as fast as they used to, we may have yet to hit the physical limits of the current generation of chip-making technology but we're not far from it. Dual-core CPUs are quite the norm now, and quad-core is becoming popular. I'm guessing we're going to see 16 or more threads in an end-user-level system in less than 2 years. That means we have to write concurrent software to be able to exploit this fact, or you'll be swept away by the people who do write scalable programs.
On the other hand, the data we need to operate on gets larger by the minute and memory access rates are becoming more and more the bottleneck. This emphasizes the role of cache hierarchies. But as the number of threads goes up, so does the rate of cache misses. This is but one of the problems we face in multi-threading our code.
Also, writing a concurrent program is hard. It's certainly harder that the serial version (most of the time,) both because we are used to (or trained to be used to) thinking or designing serially, and also most of our tools and languages focus on that. I'm not an expert on the theory of complexity, but it seems to me that designing a scalable parallel program (or algorithm) is innately much harder than ordinary program design.
A third source of problems are race conditions, deadlocks, livelocks, priority inversions and a plethora of other pitfalls and hazards. They make analyzing, testing, debugging and making guarantees about a program's behavior much harder.
Another hardship is performance. As it happens, naive ways of achieving concurrency can either lead to a lot of bugs due to lack of proper synchronization, or a performance penalty because of excessive and/or misplaced locking or flawed design. This performance hit (which mainly comes from bad design, but can be the from the overhead of the synchronization primitives) can be so huge that the parallelized version may even be slower than the serial version! Achieving (near) linear performance boost (linear in the number of hardware threads) is no simple task, even in the simplest and best cases (e.g. when data is not shared between the threads.)
Many programmers, faced with the task of parallelizing the design of a program, go the road of task parallelism, which means they divide that tasks a program has to do among the threads. The threads execute different operations on (the same or different) data. Pipelining is a variation of this method. This has several advantages. It's usually simple enough, it usually minimizes (or at least restricts) the data sharing between the threads and it can be fast and it can be generic and applicable to a broad range of situations.
But the approach is not scalable. There are not many situations that you can divide the program into 10 or more meaningful, mostly independent and orthogonal tasks and still keep the benefits of this approach. There's almost no way to divide a program into 1024 tasks!
Another approach is data parallelism and I will cover the meaning in a later post.
One way to evade many of the above problems is to go for a coarser-level of parallelism. That is, divide the program into many programs and not many threads. This can be used (most of the time) whether your design parallelizes tasks or data, but it's not applicable to many high-performance and real-time applications because whilst the design gets simpler and more manageable, the overhead of spawning a new process and interprocess communication can be noticeably higher than the same operations for threads. On some systems (namely Windows,) it's really significant. I will get a little bit more into this in the future.
Also, writing a concurrent program is hard. It's certainly harder that the serial version (most of the time,) both because we are used to (or trained to be used to) thinking or designing serially, and also most of our tools and languages focus on that. I'm not an expert on the theory of complexity, but it seems to me that designing a scalable parallel program (or algorithm) is innately much harder than ordinary program design.
A third source of problems are race conditions, deadlocks, livelocks, priority inversions and a plethora of other pitfalls and hazards. They make analyzing, testing, debugging and making guarantees about a program's behavior much harder.
Another hardship is performance. As it happens, naive ways of achieving concurrency can either lead to a lot of bugs due to lack of proper synchronization, or a performance penalty because of excessive and/or misplaced locking or flawed design. This performance hit (which mainly comes from bad design, but can be the from the overhead of the synchronization primitives) can be so huge that the parallelized version may even be slower than the serial version! Achieving (near) linear performance boost (linear in the number of hardware threads) is no simple task, even in the simplest and best cases (e.g. when data is not shared between the threads.)
Many programmers, faced with the task of parallelizing the design of a program, go the road of task parallelism, which means they divide that tasks a program has to do among the threads. The threads execute different operations on (the same or different) data. Pipelining is a variation of this method. This has several advantages. It's usually simple enough, it usually minimizes (or at least restricts) the data sharing between the threads and it can be fast and it can be generic and applicable to a broad range of situations.
But the approach is not scalable. There are not many situations that you can divide the program into 10 or more meaningful, mostly independent and orthogonal tasks and still keep the benefits of this approach. There's almost no way to divide a program into 1024 tasks!
Another approach is data parallelism and I will cover the meaning in a later post.
One way to evade many of the above problems is to go for a coarser-level of parallelism. That is, divide the program into many programs and not many threads. This can be used (most of the time) whether your design parallelizes tasks or data, but it's not applicable to many high-performance and real-time applications because whilst the design gets simpler and more manageable, the overhead of spawning a new process and interprocess communication can be noticeably higher than the same operations for threads. On some systems (namely Windows,) it's really significant. I will get a little bit more into this in the future.
Subscribe to:
Posts (Atom)