Wednesday, October 11, 2006

ECMAScript does not speak Deutsch

Did you ever have to use regular expressions on your client side code (JavaScript) to validate user input?
The .NET Framework has really cool RegularExpressionValidators that will do the job for you, however, these controls are not multilingual and this is due to the fact that ECMAScript, javascript, lacks of a specification for Unicode support.
Your common "\w" or "a-zA-Z" regular expression, while in the code behind does include Latin Extended characters such as ñ or ü, it only includes ASCII characters while used with JavaScript.

A workaround? modify your regular expressions in your javascript validators to explicitly include the characters you want.

A good post about this can be found on this blog

TTYL...

Tuesday, October 03, 2006

Wanna work for Google? Better get a Ph.D

Got this article extract in an email from a friend, I lost the original link though...


If you want a job at a company like Microsoft, Yahoo!, Apple, or Amazon.com, they're going to have high standards. It doesn't matter if you "know how to program". They're going to test you on algorithmic complexity analysis, advanced data structures, algorithm design, searching and sorting, internationalization techniques, network protocols, OS-level memory management, parsing and semantic analysis, recursion and mathematical induction, graph theory, combinatorics, programming language theory, machine architecture, discrete math and logic, graphics and window systems, fonts and typesetting, color spaces and representations, databases and query languages, filesystems and storage, embedded systems, device drivers, mobile and wireless protocols, and internet standards and technologies.

If you're lucky, that is.

If you're unlucky, they'll ask you to derive the outline of their Ph.D. thesis on fault-tolerant massively parallel machine-learning systems. Or to solve a grand-unification style computation problem involving telephone switches, grid networks, and third-degree differential equations. Or, God forbid, they'll ask you about the darkest corners of C++ syntax.

And you want to know why they'll ask you about that stuff? Because they're using it every day. They've tried hiring people who don't know this stuff. Believe me, they try all the time. They want to hire more programmers, and they're out there on the constant lookout for new meat. But when they lower their standards, they get burned. The 747 crashes, the patient dies, the juggler drops a bowling pin on someone's head, the tiger rips someone's throat out. In the software world: the service goes down for days, losing them millions; the project gets delivered late or even not at all, losing them contracts and customers; they lose the business battle to competitors who hired better engineers.