|
Saturday, March 15. 2008
From MSDN via
Jeff Atwood's Coding Horror.
The Turkish-I Problem
These new recommendations and APIs exist to alleviate misguided assumptions about the behavior of default string APIs.
The canonical example of bugs emerging where non-linguistic string data is interpreted linguistically is the "Turkish-I"
problem.
For nearly all Latin alphabets, including U.S. English, the character i (\u0069) is the lowercase version of the
character I (\u0049). This casing rule quickly becomes the default for someone programming in such a culture. However,
in Turkish ("tr-TR"), there exists a capital "i with a dot," character (\u0130), which is the capital version of i.
Similarly, in Turkish, there is a lowercase "i without a dot," or (\u0131), which capitalizes to I. This behavior occurs
in the Azeri culture ("az") as well.
o.O
Thursday, February 28. 2008
Back at the beginning of the month, I shared with you all a post by one of the blogosphere's "big names", regarding the development of a
programmer. Well, now he brings us another gem on programming languages...it revolves around Perl, but there are some excellent general
principles discussed.
At this junction in human history, the best thing you can do as a programmer (other than perhaps write your
own language) is not to get too attached to any particular one, and choose them as appropriate for the task at hand,
since each language has its niche.
Warning to Radar: It's another long one, you might want to span it around your nap-time.
Monday, February 4. 2008
Radar asked me this morning for some questions that he could ask a person to gauge their understanding of PHP. Here's a
short list I came up with off the top of my head. It occurs to me that perhaps MG (and maybe Sideshow? I dunno how
things go around there) could stand to brush up on these topics. Also, I'd be interested in a similar list for C#
(Johnny?)
Continue reading "PHP: A quiz"
Friday, January 25. 2008
Almost 5 years ago, after reading a paper on Latent Semantic Analysis (one of the key methods Google uses for helping a
machine understand the "meaning" of a document), I looked up and said to someone (Johnny Elbows?) "Hmm - I wonder why
they don't use a Hidden Markov Model for that?"
Well, a student doing his graduate internship at Google has done just that. You can find the original paper here, or download a C++ implementation from
Google Code here
Friday, January 18. 2008
[Ed: I've fixed the fact that I originally forgot to fill out the detail link under "XKCD" - there's an interesting blog
post behind it all on xkcd's site.]
A lengthy discussion about signal-to-noise ratios in IRC channels, started by our hero xkcd, led
me to discover Dunbar's Number, which has a
fascinating level of detail for being a Wikipedia entry. Which reminds me, has anyone heard anything new about Google's
Knols
project?
Friday, January 4. 2008
Picking up the "MTYEVWTKA" series, we're going to look a little bit into being an (Pronounced "Em Tie Vwetka") we're
going to start with a short article on how to
most effectively read non-fiction books.
Monday, October 22. 2007
Johnny Elbows wrote a post a while back about a Javascript Color Fader he had
created. In it, he had the following block of code:
var red = getRgbComponent(color,0);
var green = getRgbComponent(color, 1);
var blue = getRgbComponent(color, 2);
Applying "currying" to this block, we can give ourselves functions that will get the color components for us:
var getRed = function (color) { return getRgbComponent(color,0); };
var getGreen = function (color) { return getRgbComponent(color,1); };
var getBlue = function (color) { return getRgbComponent(color,2); };
Then:
var red = getRed(color);
Not the most natural fit for currying, but should be an effective example...
Wednesday, October 10. 2007
[Ed: Link fixed, thanks Johnny...]
Humble Beginnings:
I wanted to use an interesting web service I found, but found myself unable to sign up for it because their email regex failed to respect '+' in the local-part of my email address. Figuring I'd give them a hand, I tossed out a quick email:
Subject: signup email validation fails
'+' is a valid username component in
email addresses, one which I use
to pre-filter incoming messages.
Additionally, when I went to report
it as a bug on your bugs forum, I was
unable to find any way to create
new posts...maybe I'm just not seeing it?
Then the fun begins...
Continue reading "Email Addresses"
Friday, June 22. 2007
This paper talks about methods
for letting the user tell a search engine what they consider important (called a "user-defined dynamic weight" in IR
terms).
Thursday, June 21. 2007
There's some really exciting stuff going on over in the land of Python 3000. Guido brings us the news.
I'm especially fond of the new "ABC's". I think they're going to have a big impact on the world of frameworks.
Monday, June 18. 2007
As we evolve our concepts of data and meta-data, the issue of how to query temporal data ("when stuff happened") has
lagged behind the more traditional relational data. To this point, we have had to rely on vendor extensions to SQL such
as PgSQL's "interval" type. A 1995 paper proposes "a clean way of defining temporal databases based on logic...views temporal
databases as multi-sorted, finitely representable first-order structures. Query languages then became formulas in
suitable logics over the vocabulary of such structures."
Starting on page 94 they go through a particular temporal transform called the "Magic Set Transformation". It gives a
little bit of discussion on how temporal data can affect decision systems.
Friday, June 15. 2007
I spent some time walking through this
code yesterday and found his point very enlightening.
Thursday, June 14. 2007
[Edited: Johnny E. pointed out that s9y was choking on the wikipedia link to Erlang. It's been fixed. Thanks, Johnny!
]
Aiming to replace/obselete/prevent technologies such as JMS, MQ, and TIBCO, AMQP.
Think of it like SMTP, but for programs to exchange data rather than for people to exchange emails.
One of the leading implementations appears to be Apache's qpid (say it out loud) project. Another interesting one is RabbitMQ, an independent implementation
in Erlang, a language that's getting a lot of attention at the
higher levels of the software industry (sort of like Ruby did about 5 years ago, or Python 10 years ago...or Lisp, every
year since 1958).
Wednesday, June 13. 2007
What could be better than Google or Bittorrent? How about a little of
each?
Tuesday, June 12. 2007
There's actually a more detailed paper than this one (which is from 2003), but you'd have to be an ACM member to read it.
|
Comments
Mon, 21.07.2008 19:30
No, but it is YOUR fault he's black.Comments ()
Mon, 21.07.2008 13:09
And, I just have to say, I abs olutely love Chlorine's write- ups. I had no idea all that w as going on inside her h [...]Comments ()
Mon, 21.07.2008 13:03
(The Balkans)Comments ()
Mon, 21.07.2008 13:02
Fine, as far as Clarence is co ncerned he's just a black hear t anyway.Comments ()
Mon, 21.07.2008 12:28
nope that's still racistComments ()
Mon, 21.07.2008 10:22
hahaha "the balck guy." now w e're poking fun at his race an d country of origin!Comments ()
Mon, 21.07.2008 10:01
How is referring to someone's skin color racist? While I ag ree that we might call him Dro w instead of "the balck [...]Comments ()
Mon, 21.07.2008 09:04
Would it help if we referred t o him as a "black elf" instead ?Comments ()
Mon, 21.07.2008 08:59
y'all are so racist. It's not Sol's fault he's black.Comments ()
Mon, 21.07.2008 08:39
Washed up scientist?Comments ()
Mon, 21.07.2008 08:11
No he isn't and no there wasn' t!Comments ()
Mon, 21.07.2008 08:10
Wait, Harcrit is illiterate? A nd there was a hug?Comments ()
Sat, 19.07.2008 23:27
I honestly can't pick a favori te act. While I though Act 1 was a bit slow, I feel it was a great setup to the res [...]Comments ()
Sat, 19.07.2008 22:47
I enjoyed every step, although I still think the first act w as the best. I've been singing it all weekend now.Comments ()
Fri, 18.07.2008 15:24
I think Act 1 was slow, but ta ken as a part of the whole I t hink it did a good job setting up.Comments ()