Google images search using imgtype=face parameter

by leo on June 8, 2007

Google logo

Google has recently added support for face based image searching.
There isn’t an option for using this service yet so you’ll need to add this parameter to the URL manually.

 Examples:

  • gates (classic search)
  • gates (using imgtype=face parameter)

 Compare the two queries. In the search results of the second example you also get this notification:

google images imtype=face query

How to do this?
Simply make a standard image search and add the &imgtype=face parameter to the end of the URL on the results page:
http://images.google.com.au/images?svnum=10&hl=en&gbv=2&safe=off
&c2coff=1&q=gates&btnG=Search+Images&imgtype=face

Read the rest of this entry »

Bill Gates and Steve Jobs at D5

by leo on May 31, 2007

Bill Gates and Steve Jobs at D5

The two masterminds of software and hardware industries shared a stage at D5 after a long time.
Read the full conversation at D5 site.
Read the rest of this entry »

MySQL: Get next auto increment value

by leo on May 30, 2007

MySQL
Recently, I needed to get the auto increment value for the next inserted row in a MySQL table.  Generally, this is not a good idea and you should stop reading right now.
You may end up with duplicate entries in your application, which is not a good thing.
At a first glance you may think: “I can get the top id value from my table, add 1 and that’s all, I got the next auto_increment value I need.”
Something like this:

$query = mysql_query(SELECT MAX(id) as max_id FROM tablename);
$row = mysql_fetch_array($query);
$next_id = $row[‘max_id’] + 1;

Using the above example, you got the current max auto_increment id plus 1.
As you may already notice, this is wrong. Auto increment values use unique ids.  Imagine the following table:

Id country
1 Italy
2 Germany
3 Greece
4 Turkey

If you delete the record 4 and run the above script, you will get “4” as next_id.
MySQL will use “5” as next_id.
The solution is to use the “SHOW TABLE STATUS” query.

$query = mysql_query(SHOW TABLE STATUS LIKE tablename);
$row = mysql_fetch_array($query);
$next_id = $row[‘Auto_increment’] ;

The “SHOW TABLE STATUS” command returns a two dimensional array with the “Auto_increment” value among others.

Read the rest of this entry »

It’s all about simplicity

by leo on May 10, 2007

MSDN Simplicity and accessibility

7 scrollbars in 1 page.
This is what Microsoft thinks about simplicity and accessibility…

Read the rest of this entry »

MySQL FULLTEXT Stopwords

by leo on May 10, 2007

MySQL Logo

These words could save you a lot of time figuring why this fulltext query returns nothing..

a’s, able, about, above, according, accordingly, across, actually, after, afterwards, again, against, ain’t, all, allow, allows, almost, alone, along, already, also, although, always, am, among, amongst, an, and, another, any, anybody, anyhow, anyone, anything, anyway, anyways, anywhere, apart, appear, appreciate, appropriate, are, aren’t, around, as, aside, ask, asking, associated, at, available, away, awfully, be, became, because, become, becomes, becoming, been, before, beforehand, behind, being, believe, below, beside, besides, best, better, between, beyond, both, brief, but, by, c’mon, c’s, came, can, can’t, cannot, cant, cause, causes, certain, certainly, changes, clearly, co, com, come, comes, concerning, consequently, consider, considering, contain, containing, contains, corresponding, could, couldn’t, course, currently, definitely, described, despite, did, didn’t, different, do, does, doesn’t, doing, don’t, done, down, downwards, during, each, edu, eg, eight, either, else, elsewhere, enough, entirely, especially, et, etc, even, ever, every, everybody, everyone, everything, everywhere, ex, exactly, example, except, far, few, fifth, first, five, followed, following, follows, for, former, formerly, forth, four, from, further, furthermore, get, gets, getting, given, gives, go, goes, going, gone, got, gotten, greetings, had, hadn’t, happens, hardly, has, hasn’t, have, haven’t, having, he, he’s, hello, help, hence, her, here, here’s, hereafter, hereby, herein, hereupon, hers, herself, hi, him, himself, his, hither, hopefully, how, howbeit, however, i’d, i’ll, i’m, i’ve, ie, if, ignored, immediate, in, inasmuch, inc, indeed, indicate, indicated, indicates, inner, insofar, instead, into, inward, is, isn’t, it, it’d, it’ll, it’s, its, itself, just, keep, keeps, kept, know, knows, known, last, lately, later, latter, latterly, least, less, lest, let, let’s, like, liked, likely, little, look, looking, looks, ltd, mainly, many, may, maybe, me, mean, meanwhile, merely, might, more, moreover, most, mostly, much, must, my, myself, name, namely, nd, near, nearly, necessary, need, needs, neither, never, nevertheless, new, next, nine, no, nobody, non, none, noone, nor, normally, not, nothing, novel, now, nowhere, obviously, of, off, often, oh, ok, okay, old, on, once, one, ones, only, onto, or, other, others, otherwise, ought, our, ours, ourselves, out, outside, over, overall, own, particular, particularly, per, perhaps, placed, please, plus, possible, presumably, probably, provides, que, quite, qv, rather, rd, re, really, reasonably, regarding, regardless, regards, relatively, respectively, right, said, same, saw, say, saying, says, second, secondly, see, seeing, seem, seemed, seeming, seems, seen, self, selves, sensible, sent, serious, seriously, seven, several, shall, she, should, shouldn’t, since, six, so, some, somebody, somehow, someone, something, sometime, sometimes, somewhat, somewhere, soon, sorry, specified, specify, specifying, still, sub, such, sup, sure, t’s, take, taken, tell, tends, th, than, thank, thanks, thanx, that, that’s, thats, the, their, theirs, them, themselves, then, thence, there, there’s, thereafter, thereby, therefore, therein, theres, thereupon, these, they, they’d, they’ll, they’re, they’ve, think, third, this, thorough, thoroughly, those, though, three, through, throughout, thru, thus, to, together, too, took, toward, towards, tried, tries, truly, try, trying, twice, two, un, under, unfortunately, unless, unlikely, until, unto, up, upon, us, use, used, useful, uses, using, usually, value, various, very, via, viz, vs, want, wants, was, wasn’t, way, we, we’d, we’ll, we’re, we’ve, welcome, well, went, were, weren’t, what, what’s, whatever, when, whence, whenever, where, where’s, whereafter, whereas, whereby, wherein, whereupon, wherever, whether, which, while, whither, who, who’s, whoever, whole, whom, whose, why, will, willing, wish, with, within, without, won’t, wonder, would, would, wouldn’t, yes, yet, you, you’d, you’ll, you’re, you’ve, your, yours, yourself, yourselves, zero

Read the rest of this entry »