Linux and Mac OS X Need an Antivirus

Edit: I have updated the article to include considerations for SELinux, which also accounts for other security mechanisms not mentioned, such as AppArmor. I give my apologies to the Linux community for writing such an article ignoring the existence of SELinux.

In today’s media, a certain community and a certain company are having fun affirming a very bogus statement: You don’t need an antivirus on Linux/Mac OS X.

Here’s what Apple and the Linux community have to say about it, and why you should not listen and still get antivirus protection on these systems, unless you’re on some specific Linux distro (more about that later, see the edit).

Continue reading

Posted in Uncategorized | Leave a comment

Font Science, px vs em

So, if you’re a Web developer, you’ve probably come across a most crucial decision: how should you scale your fonts? Should you use pixels (pixels) or the em measure?
Continue reading

Posted in Uncategorized | Leave a comment

Smart Ads

Today, something happened that made me realize my web experience might be much custom to my own usage than I think it is.

This evening, I was searching on Google for watches, digital watches of cool concepts. I didn’t find any link of much interest and gave up.

A few minutes later, while browsing a web site about Japanese dramas, talk about unrelated, I see an add about “digital watches” of exotic design.

It gets my attention, of course, it was what I was looking for, and I click on it. A split second passes and my brain makes the link: why was there an add for watches there?

It turns out it was a Google ad. Google knew I searched for watches minutes earlier and served me a watch ad.

At first glance, this is slightly unnerving, that on a scale of a few minutes, Google knows where you’ve been and knows what you want, to a certain extent, enough to serve you ads that are extremely targeted.

Now what’s interesting despite privacy issues is the prospect that one’s Web experience may be much more custom than we think. Lots of Web sites use Google Ads and also Google Analytic. Combine this with Google Search and a Google Account and they’ve got a potentially scarily complete profile of you.

To tell the truth, I don’t mind. As long as no human is involved, and being a Web developer myself I know it’s possible if well done, I don’t even mind Google’s software reading my emails in order to give me a more relevant ad experience, and tons of free amazing software with it.

I love it when I go to a Web site and the ad I see is about this new expansion for that game I like. I want to know about this content, and somehow the relevance makes it feel less like an ad.

I just wished the ad experience on the web was richer like TV, although without the annoyance. There’s nothing like those high budget car commercials or inventive smartphone ads. They’re just fun to watch, really.

Posted in Uncategorized | Leave a comment

When I said screw Oracle, I meant screw Oracle

Read this first: http://arstechnica.com/open-source/news/2010/08/oracles-java-lawsuit-undermines-its-open-source-credibility.ars?old=mobile

One word: unbelievable.

You want to know what this lawsuit and its many similar friends from Apple and company are? They’re innovation inhibitors.

Dalvik, Google’s virtual machine for Java, allowed stuff for Java that could never be made before. But no, Oracle has to sue them over a freaken open source project that happened to have patents.

This is why patents and all these proprietary things are bad, because all they’re often for is money with absolutely no respect for humanity and evolution.

Granted, some companies look like they have learned to play nice, like Microsoft, but Oracle is now officially an enemy of open source software and innovation.

Do not trust their kind words and move away from their products, unless they radically turn around and learn to care for their developers.

People of Java and MySQL, it’s time to fork. And Google, it’s time to make Go a reality.

Posted in Uncategorized | Leave a comment

VP8 (WebM) vs H.264 (MP4) – August 2010

So, while I was making a chart for WebM and H.264 bitrates everyone should use when encoding acceptably high-quality videos for the web, I ended up obviously needing to compare the codecs.

With various tests, I concluded that both codecs are approximately equal, except one is superior in the end. Therefore, I can use two sets of identical bitrates for the same H.264/WebM media. Read on to find out. Continue reading

Posted in Uncategorized | Leave a comment

Lucky you! Windows 2K Still Gets Updates After End of Support

As you all know, July 13, 2010 was the last day of support for Windows 2K and Windows XP SP2 (SP3 is still supported until April 8, 2014, which is just simply WTF).

OK. it’s a bit of an overstatement to say that you will still get updates with Windows 2000 Professional today, since it’s gone out of support.

Essentially, what I mean is that if you’re installing Windows 2K, you can still update it to its latest iteration. Now of course, don’t forget new security issues will never be fixed by Microsoft, so once you’ve updated to all the latest, that’s the last you’ll ever hear of Windows Update on Win 2K.

Enjoy your lasting past.

Moving to Windows 7 and sad to see your good old sounds go? Simply search for Change system sounds in the Control Panel and change them with these, the original Win 2K sounds, courtesy of myself: Win2Ksounds

Posted in Uncategorized | Leave a comment

WebM Implementation Comparison. July 2010

We’re now mid-July 2010 and it’s been a while since Google got out the code for VP8 and WebM. Well, truthfully it’s only been a very few months and it’s still very new, but we already have at least one stable player and one stable browser capable of WebM playback.

Here’s a comparison between Mozilla’s implementation in Firefox 4 Beta 1, Opera’s implementation in Opera 10.60, and Google’s implementation in Chromium 6.0.469.0, as well as VLC 1.1.0.

They’re pretty much all you can get in terms of WebM playback and they represent all of these projects’ first tries at implementing VP8 and WebM.

All testing was done on Windows 7 with an Intel Core 2 Extreme X7900 2.8Ghz.

Mozilla Firefox 4 Beta 1

Firefox, surprisingly enough, has got the worst implementation of them all. I’m currently writing an article on how bad Firefox 4 currently is, and it’s obviously in it for many reasons.

Firefox used the CPU in a consistent manner with the media I played back, a 60 fps AMV I re-encoded in SD from an HD source. The CPU  usage averaged around 60%, which is very bad in comparison to regular SD video playback on this computer, and worse, I could not get Firefox to play back video smoothly.

Despite Firefox 4 Beta 1 being a definite improvement over previous WebM implementations from Mozilla, with numerous issues in tracking and video display fixed, Mozilla’s implementation is still a CPU hog, and worse of all, cannot play back video in a smooth manner, for reasons I ignore.

Firefox 4, however, has the weirdest implementation. As the only browser capable of going Full Screen with its videos, putting WebM video in full screen makes the CPU usage drop on an average of 15%. The video is equally smooth, which is just weird. This, however, brings me hope that the guys at Mozilla are just pinning the fjords right now and that we shall see a great implementation from them when Firefox 4 comes out of beta.

Opera 10.60

Opera wasn’t bad, but wasn’t the best. I could not get Opera to play back the video as smooth as it really is either. The issue is more minor than with Firefox, but it’s still there.

Nevertheless, Opera achieved an average of 50% CPU usage, lower than Firefox’s 60%, with very stable playback, no video artifacts as were previously visible in earlier builds, and quick tracking that doesn’t crash the browser.

Chromium 6.0.469.0

You’d think Google have the best implementation right? Well, not at all. While Chromium’s latest had a lower 45% CPU usage, its implementation has very slow tracking, which is just not forgivable.

VLC 1.1.0

VLC has everything you want. On top of their stellar video support, VLC now also supports WebM, making it one of the most complete players you could ever get. It’s even available on Windows, Mac OS X and Linux, so life is really great with VLC.

The playback is amazing too. It’s smooth as the original, the tracking is ultra quick, and it uses an average of just 15% CPU. I get comparable CPU usage with hardware accelerated H.264, so you get the idea.

VLC is based on FFmpeg, and the guys have already done a great job implementing an encoder for VP8. In fact, my sample video was encoded with FFmpeg. The open source software community really is doing a great job for this free video codec.

In my opinion, the future of VP8, Vorbis and WebM is very bright.

Oh, I also forgot to mention my encodes used the same bit-rate I usually take for the same resolution and frame rate with H.264 and produced an equally perfect output. I’m doing some codec comparison and up to date, it looks like WebM is at least as good as some simple profile of H.264, which is very nice for web distribution.

Posted in Uncategorized | Leave a comment

Learn Japanese The Right Way

This is a tale of my experience learning Japanese and how you can make the best of it to enhance your own experience.

What makes me in the position to make such a bold statement as to how to learn Japanese?

I’ve started learning Japanese in the second year of high school. That was sometime between the end of 2001 and the start of 2002. In short, I could safely say I started learning Japanese on my 13th birthday in October, which means that at the time of writing this article, soon turning 22, I will have been learning Japanese for close to 9 years.

In all of those years, I have not mastered Japanese, a short way of meaning both that no learning solution has been adequate up to date, and that I have learned Japanese in a very slow-paced, organic fashion.

The reason I can make such a bold statement about learning Japanese is that I’ve tried, with both success and failure, probably all the ways one could think of for learning a language.

Within these, you’d find courses, text books, dictionaries, kanji books of all sorts, online interactive courses, Rosetta Stone, etc.

I’ve spent a significant amount of money on these solutions and I can say none is quite adequate as a complete solution. Read on to find out about the biggest traps and losses of time while learning Japanese.

You should learn Romaji, but not too much

If you dive in Japanese learning material, you’ll eventually meet some people that will tell you to never use romaji. In fact, they will straight on tell you learning romaji along with Japanese is just an inhibitor to your learning process.

While absolutely true, the reality is you still have to learn romaji anyway. Japanese written in our alphabet is called Romaji. The word Sushi is typical example of romaji used in daily English. The thing is, unlike the imported word Sushi, actual romaji, which can represent any Japanese content, is specifically pronounced in a Japanese way.

While learning romaji certainly won’t help you learn to pronounce Japanese, it’s used a primary way to input Japanese on computers. You would be depriving yourself of an easy way to write Japanese if you were to completely forgo learning romaji. Additionally, learning to pronounce Japanese in romaji can also help to learn pronouncing English the Japanese way, or the wrong way Japanese use for imported words. Considering the surprising amount of English-imported words in Japanese, nearly all new vocab since WW2, romaji will also help you get a fundamental understanding of how Japanese import English words in their language.

This could seem rather useless, but on the contrary, it will help you learn English-bound Japanese vocabulary faster, and it will help you understand Japanese people pronouncing foreing items in Japanese right in your home country. For example, I could not have guessed the sushi chef meant Carlton university when he asked me if I studied at Karuton university. It might seem like an easy thing to get, but it takes training to perceive such a word in fast regular native conversational speed, which is execeptionaly fast in comparison to the pace of English speech.

Don’t learn Japanese with romaji

While you should definitely learn romaji, one of the common pitfals of learning Japanese you should avoid like the pest is learning Japanese with romaji.

All this will do is hamper the speed at which you can learn actual written Japanese, which is composed of linguistic concepts simply impossible to represent in romaji. Many, many things are ambiguous in romaji and could lead you to learn bad pronunciations and ways to write a word in kana (the ensemble of Japanese scripts), further slowing your intake of the language.

Keep in mind you could always learn Japanese with romaji and only learn to speak, doing so won’t prevent you from learning Japanese but it will take you a lot more time to eventually learn all of Japanese. I should know, it’s the path I took and it’s a major stick in your wheel.

Avoid kanji books

Quite frankly, Kanji books, and practically all of their form, are just like dictionaries.

Trying to learn Kanji like that is like trying to learn French words one by one with no context other than a definition.

Kanji, in Japanese, aren’t just an alphabet and should not be learned by heart. They form literal vocabulary in context and learning them by heart is the most innefficient way to learn them.

Let me repeat myself here. Kanji are not an alphabet, no matter what people say to you, they are words and parts of words.

There are a few basic kanji you can remember that will help you understand and properly look at more complex kanji, but just like there is no trick in learning vocabulary other than to use it, there is no trick in learning Kanji.

The best way to learn kanji is to learn them via their primary function, a reading device.

The best textbooks you will find will gradually introduce kanji right in the text and tell you about them and their associated use in context, just like you would learn English by reading.

Additionally, Japanese is much easier to read with kanji, because they bring precision and structure to the text. Without kanji, Japanese would be an excessively ambiguous language to write. While learning Japanese, you’ll discover that reading without kanji is an extremely confusing and painfully structure-less experience.

Learn without translating

One of the most common mistake while learning languages is the act of translating.

For instance, learning words by comparing them with their equivalent in your own language is the most innefficient way to learn fluent speech.

What you have to do is learn to identify things and speak about things by thinking in Japanese. This is why reading is also so important in order to learn katakana and hiragana, Japanese’s two phonetic alphabets, because you have to memorize the sound they represent, and not the English romaji equivalent they represent. Reading will force you to do so because their is no other way to enhance your reading speed. You might read like a child at first, but regular practice will solidify your memory of these phonetics. The same goes for kanji and their meaning.

In the same regard, visual language learning solutions like Rosetta Stone provide an excellent way to learn many concepts in a native way, rather than by translating. By doing so, you’ll be learning to speak just like you learned as a child, breaking the oft said barrier to language learning that is adulthood.

However, Rosetta Stone and the such should not mean forgoing a good grammar study. Just like in any language, grammar is fundamental to mastering a language. Some people, notably Rosetta Stone, will try to sell you their lack of grammar tools by saying no child learns grammar to learn a language. That is correct, and grammar is in no way a natural aspect to language learning, so you shouldn’t go overboard with it, but literate people, including educated nations’ children, learn grammar.

Grammar is not a learning tool

Contrary to most beliefs, grammar will not help you learn to speak. The natural occurence of grammar does not exist. Languages are rather defined by a list of exceptions and accepted uses in varying contexts, which humans refer to as grammar.

Because grammar is so intricately unnatural by definition, learning it won’t really help you since languages don’t follow any given logic perfectly.

Rather, the best learning tool is context and use cases. Again, this stresses the importance of reading, which will provide you with an array of valid and often well written use cases of the language. Trying to understand the subtleties of a language’s grammar and structure won’t help you learn to speak fluently and write correctly.

As a proof of the preceding statement, ask yourself this question: have you ever thought about the grammar of what you were reading just now, or what gossip you were telling your friend over the phone yesterday?

Chances are you answered no, because the use of grammar is not a natural occurence of a language. It is simply humans’ attempt at defining our languages.

Every language has two grammars

When referring to grammar as the set of rules and exceptions defining a language, it’s observable that every language has two grammars.

One of them is the formal, correct, or written grammar, and the other is the incorrect, or spoken grammar. The problem with text books, or even Rosetta Stone, is that they only focus on correct grammar.

However, speaking remains an essential aspect of any language and forgoing learning the bad spoken grammar can mean you’ll never be able to understand spoken Japanese.

So, in your oh so important curriculum of reading practice, you should also add listening of spoken language, like Japanese television shows. If you’re an Anime fan, you could watch Anime and read Manga, although many manga use a speech-like grammar, so be aware that reading traditional texts is also essential here.

This will help you train your ear to the spoken language, as well as help your pronunciation greatly. Many university students I met who took Japanese courses were impossible to understand because of their thick accent and major pronunciation mistakes. Out of these students who happened to actually speak well, all of them actively watched Japanese anime and drama. Lots of them also listened and sang Japanese musics. In fact, if you’re into music, singing can be a really good way to learn to pronounce. Additionally, you will be exposed to faster speech and lots of native pronunciation variations by doing so.

In other words, if you don’t include a correctly spoken curriculum to your Japanese learning, you’ll always be a lousy speaker.

No, it’s not correct if you speak a language with an accent from another language. It just proves you didn’t learn the language as you should have.

I heed this warning especially to English speakers, who, because of the difference between Japanese and English sounds, will find a greater deal of difficulty to pronounce the language than say, a French speaker.

Also watch out for non-native university teachers teaching you the wrong pronounciation. Heck, native English teachers even make mistakes while teaching English, which explains the proliferation of such words like Template being pronounced as tem-pleyt instead of tem-plit.

Japanese luckily does not suffer from such ambiguities, so simply having a native speaker say it for you should be enough.

Conclusion

In the end, there’s nothing like practice and exposure to a language, but I hope my advice will help you choose the best material and avoid the worst.

As always, just remember exposure to real written and spoken Japanese material is your best bet at advancing your skills.

To help you in your quest, I advise you to pay a visit to jisho.org and smart.fm. Kodansha also makes excellent books like the Communicative English-Japanese Dictionary and Japanese for Busy People. Rosetta Stone is also a good place to start, and all the speech is from native Japanese, unlike many other audio-based solutions like Rocket Japanese and JapanesePod101, both of which you should avoid. You might also want to check the Rikkai-chan browser add-on which can help you read Japanese online, although it’s only useful if you’re already fairly comfortable with the language. Books like Japanese for Busy People, notably the kana version of the first tome, will be better as initial reading material.

None of these will provide a complete guide to the language. Instead, use them in conjunction along with native material like books and television shows and you’ll be on your way to speaking and reading fluent Japanese.

Posted in Uncategorized | Leave a comment

Google Chrome Omnibar Tip: Fixing Search Engine Keyword Woes

My Omnibar does what you describe (tab to search). It used to work for dictionary.com, I don’t know if you have noticed but it no longer works for dictionary.com. It still works for amazon, urban dictionary etc. but it does not work for dictionary.com anymore! Are you experiencing that same problem?

This is a common issue faced by Google Chrome users I wished I addressed earlier. This comment was sent to me by email by M. Davies and I wished I answered earlier. My apologies for the time it took.

Basically, although Chrome’s Omnibar is awesome, it is flawed in that it is entirely automatic and might not always do what you want. Continue reading

Posted in Uncategorized | Leave a comment

Opera 10.60 Released. First WebM Shipping Browser, still no easy way to bookmark a web site

For an innovative company like Opera, there’s a few things that stay amiss in my head as to why they do certain things.

Opera was one of the first to bring bookmark syncing with Opera Link. In fact, I believe they were the first in the major browsers, even before Chrome but maybe after Mozilla started the Weave experiments. Nevertheless, Chrome’s Sync barely does bookmarks, Mozilla’s just out-of-beta Weave, now Mozilla Sync, is a little bit better but makes your browser really slow every time you start it and remains a hard-to-find add-on. Conversely, Opera Link is on every Opera browser currently shipping, and it’s been there for a while, doesn’t make your browser lag, and is complete with everything you could possibly want synced. Continue reading

Posted in Uncategorized | Leave a comment