innerlogic

random stuff about technology, programming, digital media

Bill Gates and Steve Jobs at D5

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

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:

  1. $query = mysql_query(SELECT MAX(id) as max_id FROM tablename);
  2. $row = mysql_fetch_array($query);
  3. $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:

  1. Id country
  2. 1 Italy
  3. 2 Germany
  4. 3 Greece
  5. 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.

  1. $query = mysql_query(SHOW TABLE STATUS LIKE tablename);
  2. $row = mysql_fetch_array($query);
  3. $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

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

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 »

Microsoft eyeing DoubleClick acquisition

Microsoft Loves Doubleclick

Η Microsoft αντιλαμβάνοντας ότι έχει χάσει άλλη μια αγορά, έστω και αργά, προσπαθεί να μπει στο παιχνίδι του online advertising και να πάρει ένα κομμάτι της αγοράς από την Google και την Yahoo!.
Για να το πετύχει αυτό γλυκοκοιτάζει την DoubleClick που παρέχει το κυρίαρχο adserving εργαλείο Dart.
Σε αυτή την περίπτωση είμαι ειλικρινά περίεργος να δω τι θα συμβεί στο DART Motif και την συνεργασία της DoubleClick με την Adobe.
Μήπως αντί για Flash να αντικαταστήσουν τα banners με το WPF/E ?

Οι νέες και πρωτοποριακές ιδέες εκεί στο Redmond φαίνεται να έχουν στερέψει εντελώς, αν υποθέσουμε πως κάποτε υπήρξαν…

***** 13/4/2007 UPDATE: Η Microsoft έχασε και αυτό το παιχνίδι…

via: NewYorkBusiness.com

Read the rest of this entry »