Download for Windows Download for Linux Download for FreeBSD Download for Mac Manual Wiki Forum IRC Trac

Sunday, December 21, 2008

Bug tracker back!

Yep, we got the bug tracker back online!

Unfortunately, since we only had an old back-up, about 6 weeks of activity was lost. The URL is the same as before and should work everywhere already.


Don't use \fad on fades to black

Dear typesetters,

I have seen this countless times. Every time, it has bothered me. Please, don't do it anymore.

When the screen fades to black (or white, or any other solid colour, for that matter), DON'T use the \fad tag to fade the text along with it. When you use \fad, you're making the text translucent, and not darker. The result is that it will blend with the background - including all the usual associated bugs if you have borders and shadows - and get somewhat darker because the background itself is getting darker - it just won't get as dark as it SHOULD be, and the visual effect is that the text is getting brighter, relative to the background.

With \fad
With \t(\c)

As you can see above, the CORRECT way to deal with this is by using \t to animate the colour (all relevant ones) to black (or whichever colour the screen is fading to). Also note that the background can be seen through the text in the \fad() case, which is not the correct behavior.

Keep in mind, though, \t(\c) is significantly slower than \fad() on VSFilter, so you might have softsub issues, depending on how complex is your text.


Saturday, December 20, 2008

If programming languages were religions: the aftermath

Until December 15 2008, would typically get ~350 hits per day. Between December 16 and 19, it got a total of 266 thousand hits, thanks to the "If programming languages were religions..." post. So, first of all: Thanks, everybody! All feedback, positive and negative, was greatly appreciated.

First it was put on Digg. Then on reddit. Then, to my great surprise, on Slashdot... and on Stumbleupon. And even on one of my favourite blogs, Pharyngula. It was linked on many IRC channels and blogs around the Internet... Several of my friends wrote to tell me that they had seen it linked in some internal forum or mail list. I never expected this kind of reaction!

So here's the basic rundown on all the comments that I saw: most Muslims (that manifested their opinion regarding it, at least) thought that it was funny, and didn't think that it was insulting. Several others thought that it was very offensive. Lots of people thought that I was a Python fanboy (C++ is my actual favourite language, although it's possible that Haskell will take its place as I learn more about it), or a Microsoft hater (hey, I use Vista and Visual C++). Since I got accused of being a Jew by at least 3 different people, let me get this straight: I'm an atheist.

There were many complaints about "missing" languages, or "stereotyping". The list was never meant to be exhaustive, nor was it meant to be perfectly accurate - it's meant to be a JOKE. It's SATIRE. I KNOW that Satanism isn't really about selling souls, and that some of the matches aren't perfect. Also, the reason why languages such as Pascal, Fortran and Smalltalk didn't make it to the list was because I couldn't think of anything funny to say about them. The single most common observation was that assembly should be atheism - I actually WROTE that at a point, but I removed from the final post because I felt that it would end up being biased, one way or the other, and because atheism isn't a religion (or lack of one, for that matter).

If you thought that the original article was funny, I suggest you to read through the comments, both on the article and on the links above - there are some very funny suggestions on those, both for languages that I covered and also for many that I didn't mention.

P.S.: Some people seemed to take issue at me calling C restrictive. I obviously didn't mean that it's restrictive in a "what can you implement with it" sense, but rather in a "to what level can you abstract with it" sense.


Monday, December 15, 2008

If programming languages were religions...

And now, for some off-topic:

"If programming languages were religions"
(Inspired by "If programming languages were cars")

C would be Judaism - it's old and restrictive, but most of the world is familiar with its laws and respects them. The catch is, you can't convert into it - you're either into it from the start, or you will think that it's insanity. Also, when things go wrong, many people are willing to blame the problems of the world on it.

Java would be Fundamentalist Christianity - it's theoretically based on C, but it voids so many of the old laws that it doesn't feel like the original at all. Instead, it adds its own set of rigid rules, which its followers believe to be far superior to the original. Not only are they certain that it's the best language in the world, but they're willing to burn those who disagree at the stake.

PHP would be Cafeteria Christianity - Fights with Java for the web market. It draws a few concepts from C and Java, but only those that it really likes. Maybe it's not as coherent as other languages, but at least it leaves you with much more freedom and ostensibly keeps the core idea of the whole thing. Also, the whole concept of "goto hell" was abandoned.

C++ would be Islam - It takes C and not only keeps all its laws, but adds a very complex new set of laws on top of it. It's so versatile that it can be used to be the foundation of anything, from great atrocities to beautiful works of art. Its followers are convinced that it is the ultimate universal language, and may be angered by those who disagree. Also, if you insult it or its founder, you'll probably be threatened with death by more radical followers.

C# would be Mormonism - At first glance, it's the same as Java, but at a closer look you realize that it's controlled by a single corporation (which many Java followers believe to be evil), and that many theological concepts are quite different. You suspect that it'd probably be nice, if only all the followers of Java wouldn't discriminate so much against you for following it.

Lisp would be Zen Buddhism - There is no syntax, there is no centralization of dogma, there are no deities to worship. The entire universe is there at your reach - if only you are enlightened enough to grasp it. Some say that it's not a language at all; others say that it's the only language that makes sense.

Haskell would be Taoism - It is so different from other languages that many people don't understand how can anyone use it to produce anything useful. Its followers believe that it's the true path to wisdom, but that wisdom is beyond the grasp of most mortals.

Erlang would be Hinduism - It's another strange language that doesn't look like it could be used for anything, but unlike most other modern languages, it's built around the concept of multiple simultaneous deities.

Perl would be Voodoo - An incomprehensible series of arcane incantations that involve the blood of goats and permanently corrupt your soul. Often used when your boss requires you to do an urgent task at 21:00 on friday night.

Lua would be Wicca - A pantheistic language that can easily be adapted for different cultures and locations. Its code is very liberal, and allows for the use of techniques that might be described as magical by those used to more traditional languages. It has a strong connection to the moon.

Ruby would be Neo-Paganism - A mixture of different languages and ideas that was beaten together into something that might be identified as a language. Its adherents are growing fast, and although most people look at them suspiciously, they are mostly well-meaning people with no intention of harming anyone.

Python would be Humanism: It's simple, unrestrictive, and all you need to follow it is common sense. Many of the followers claim to feel relieved from all the burden imposed by other languages, and that they have rediscovered the joy of programming. There are some who say that it is a form of pseudo-code.

COBOL would be Ancient Paganism - There was once a time when it ruled over a vast region and was important, but nowadays it's almost dead, for the good of us all. Although many were scarred by the rituals demanded by its deities, there are some who insist on keeping it alive even today.

APL would be Scientology - There are many people who claim to follow it, but you've always suspected that it's a huge and elaborate prank that got out of control.

LOLCODE would be Pastafarianism - An esoteric, Internet-born belief that nobody really takes seriously, despite all the efforts to develop and spread it.

Visual Basic would be Satanism - Except that you don't REALLY need to sell your soul to be a Satanist...

Thanks to jfs and other people on #aegisub for the suggestions. Keep in mind, this list is a joke, and is not meant to offend anyone. Also, if you're a Muslim, please don't kill me. ;)

Note: I wrote a follow-up to this article, regarding the overwhelming reaction that it received.

Note 2: This article is also hosted at my official blog here.

Comments closed as of April 2011. This post has started attracting more spam than useful comments, so commenting has been closed now. Thank you for the many responses.