Volkan.
11.27.2005
Why Turkish is that hard to learn?
Actually - grammatically speaking Turkish is not that long.
just a simple example:
gel. - come here.
geldi. - (s)he came.
geldim. - I came.
geliyorum. - I am going to come (soon).
geleceğim. - I will come.
gelirim. - I certainly will come. / I will always come.
.... you can generate a dozen of more words from the common stem 'gel' .
And not only 'gel', all the verbs in Turkish are derived from a 3-4 letter stem words.
Just count the bytes, and decide which is longer for yourself.
sidenote:
It is easy for Turkish people to grasp it (we're born with it :) ).
But -especially my guests from the UK say that- it is a real pain in the rear for a non-native.
I cannot remember its exact rank but, afaik, Turkish is among the top ten hardest languages to learn.
Actually it is quite a joy listening to a foreigner struggling to remember the exact verb to use.
11.26.2005
A batch image preloader - js
I need to load an array of images as a batch.
Here is the current pseudocode in my mind:
var g_arImageURL={the url array}
var g_arObj={the object array}
var g_arImgRef=new Array();
var g_completedImageCount=0;
function startBatchPreload(){
for each url in g_arImageURL
....g_arImageRef.push(new Image(g_arImageURL[i])
trackPreloadProgress();
}
function trackPreloadProgress(){
for each image in g_arImageRef
....if image is complete
........change src of the g_arObj[i] to image.src
........g_completedImageCount++
if(g_completedImageCount less than total images)
....setTimeout(trackPreloadProgress,someInterval);
}
...
Or something more oo-ish:
function _BatchPreloader(){
....this._arImageURL=new Array();
....this._arObj=new Arrray();
....this._arImgRef=new Array();
....this._completedImageCount=0;
}
... other stuff ...
var BatchPreloader=new _BatchPreloader();
function BatchPreloader_TrackBack(){
... loop thru uncompleted images.
... if there are more images to preload then busy wait (i.e settimeout)
}
And if it's going to be an object, I shall find a better name for it.
Giving a name to an object you've just created is difficult in deed.
If you have children, just think how hard it was to pick up a name for them.
Of course, I don't say that my objects are like my children (well, sometimes they are actually :) ).
But you got the point, don't you?
After I'm done with this new preloader thingy I'll add it to sardalya as well.
But I have to finish the project I'm working on first: Although sardalya is my personal playground, my clients are my business. And since they give me the money, it is normal that they take precedence over other things.
However the relation is mutual:
The current project I'm working on will help me improve, test and benchmark sardalya as well.
So on one hand I gain money; on the other hand I find yet another real-life test platform for sardalya. Not a bad deal.
(note to myself : in the project ToolTip's bleeding issue over screen edges has to be fixed as well)
...
Just a final thing...
The project (the site I'm building to my current client) will be a secret until I totally finish it and upload to the production server.
After that, I'd like to share several interesting findings with you as well as compare and contrast the former and latter versions of the site.
The site is a real case study :)
I'm sure you'll enjoy when I share my findings.
Just wait for a few weeks.
11.22.2005
The Ingy Formerly Known as Brian Ingerson
Here is some quote from wikipedia (http://en.wikipedia.org/wiki/Rock_dots)
"A heavy metal umlaut (aka röck döts) is an umlaut over a letter in the name of a heavy metal band. The use of umlauts and other diacritics with a blackletter style typeface is a form of foreign branding intended to give a band's logo a Germanic or Nordic quality."
Once you do such a thing, i.e. change your name; you have to be aware of cross-language / cross-cultural differences your name may convey.
Your name is basically your "brand", and you should think twice when changing it (that's equally true for your logo / brandname etc but that's another story).
The meanings of a word may differ a lot:
There are dozens of (unsuccessful) examples in marketing history.
And here we come to our case: The history strikes back once again.
I mean Ingy has hit a localisation brickwall:
"döt", means ermm how to say... means "arse" in Turkish slang.
Cheers!
11.20.2005
How to create a billion dollar idea
Just go back in time, when did you recently say "voila!", "euraka! that's a brilliant solution!", "heck, why hadn't I thought that before!"
I bet when you were around five-six years old, your every single day was full of exciting inventions and discoveries. You were amazed at every seemingly unimportant bit of piece you found out.
Why, because there were no prejudices to base your knowledge upon.
But what happened then? You attended to school. It was good and fun at the beginning. But when you pop out of university with a reputable degree, you most probably have lost your crucial abitilies which may make you innovative: questioning, relating seemingly unrelated phenomena.
You entered primary scool as a question mark. And left the university as a full stop.
Just think about when you last cried out loudly in Church (I am a Muslim, but we do not run back and forth foolishly or shout aloud in mosques as well). When did you recently punched (yes punched) the keys of the large reed pipe organ in that Church and enjoyed the combination of unharmonious notes you've produced?
(well I did it with a pipe organ in the University :) - did not punch it but my -quote and quote- "artwork" was not a pleasure to ears -- luckily it was just me around :) )
If not in childhood, then probably never.
So you want to innovate huh?
Then uncover your veil. Break the rules. Forget about what you know, what you have learned, what they have imposed you in the past. Be illogical (most genuine ideas stem from illogical relations between things)
Never lose your sense of humor (that's another practice of creating shocking relations between seemingly unrelated things. Humor is a u-turn man).
Be a fool, be an "absolute" fool. And most of it, be free. Be a child in short.
Enjoy any and every single bit of action you do.
That's it. If you want to be creative, go back to your childhood. If possible go back to your mother's womb and initiate a brand new life.
So you wonder why I haven't gained a fortune yet:
Man I am only six years old, when I become four I surely will gain a fortune and buy myself a very large ice cream. So large that it will cover up the entire north pole.
Cheers and have a lovely week start.
5GB of System partition is not enough.
But when I read the most recent version's specs it says that:
"PartitionMagic does not support Windows NT Server or Windows 2000 Servers."
If I cannot find a solution I'll need to back-up my data, format my drives and repartition them, re-install a brand new system, install a new service pack, install .net framework, then install the patches...
That will take ages to complete!
As a side note, I install all my program files in another drive (to F:\Program Files) so that they do not eat system partition's space.
So the 5gig data mainly belongs to MS-specific "Application Data"
That's because windows insists on putting its application stuff under C:\documents and settings\my profile folder\ regardless of where the actual program setup is installed. That's annoying.
And don't get me started about the huge mess under C:\WINNT which is around 1+ gig. Why on earth does an operating system need over one billion bytes of data to run properly?
11.15.2005
Be aware of cultural context when communicating
In low context cultures (like Sweden or the States) words -generally- do not have side meanings. non-verbal behavior (i.e. body language) and non-written context of the text is often ignored. There is a high reliance on rules and legal paperwork. When communicating with these kinds of cultures, one should give direct messages and be as clear as possible. Because words carry all information, no additional meanings are bound to them.
On the other hand, in high-context cultures (such as Saudi Arabia,Japan and Turkey) people depend heavily on the situation, the context of the message, non-verbal behavior in creating and interpreting communications. In high context cultures special emphasis is given on background, (undocumented, non-verified by an independend third party) personal reputation, and basic values. As you may guess, legal paperwork is given least emphasis.
Contrary to low-context cultures, the best approach to give messages to a high context culture is to give "indirect messages", taking senses and feelings into account. (For instance Japanese commercials show beautiful scenery on the background most of the time). There, words do not carry all info, and the whole "context" of the communication is important.
11.14.2005
On Demand JavaScript
on demand javascript to load modules when necessary.
So I'm going back in history I suppose. Split the modules, which was a huge single file and load them when necessary.
Just thinking about the pros and cons of it currently.
...
Actually, rethinking on the issue, just async loading of sardalya would be sufficient.
It will be somethink like using "defer". This way the images and CSS will be loaded and after that the main functionality will be loaded. Hence a better visual experience.
some pseudocode
window.onload
doascyncload
end windowonload
doasyncload
while not sardalya loaded -> busy wait
when loaded do other stuff
end doasyncload
(note to self - this also means chopping out parts of the Validator and moving it to a global js file)
... And I think I'll remove
11.13.2005
OneThousandEightHundredAndSeventySeven Sites, OneThousandAndSeventySeven Designers, One Goal!
then w3csites is a place you should contribute.
Hey! Get Up! Stand Up! Wake Up!!! Internet Explorer is not the only browser around.
One should keep in mind that, although it is the market leader (thanks God it's not a monopoly anymore - thanks Mozilla, thanks Opera, thanks Flock, thanks all the innovators out there), IE is not the only browser in the world. And writing IE-specific non-standard code is -at least- a bad practice of coding.
The counter-argument is true as well. I mean, saying "Mozilla is the best browser so I write mozila-specific code; I don't care what the heck happens to the rest" is an equally bad attitude.
You should enlarge your spectrum as much as possible. As a corollary, you should write standards-compatible code to the highest extent, whenever possible.
Writing "backwards compatible" code is "out" nowadays. The "in" is writing "forward compatible" (a.k.a standards compatible) code which will run now and in the future; in current and in future browsers; here and on the moon.
11.04.2005
If you don't care about the user, you'll be a loser!
not on how "eye candy" your site has become with the new fancy DHTML grid control you added.
I'd like to share a usability/accessibility disaster I've coincided recently on a very well known and "eye candy" e-commerce site:
This is also an answer to Tom's question on who really turns off javascript:
Yes I sometimes need to turn the js off, when the site owners/developers restrict my interaction with the page and call it "security". (as a side note, howerver, Tom is mainly seeking for users who intentionally browse the entire site without javascript, which is something different than my case here)
Well, here is a recent example:
I signed in to that fancy site to buy some stuff; there was a textarea to fill in some details, but the site did not allow me to copy and paste text into it. Moreover I was not able to cut, drag move what I had written: Because they had overridden the default mousemove and mousedown actions (which on a textarea will help select some portion of the text by dragging it you know)
Anyway, I was on my stubborn day and continued my attempts. I could do it without a mouse, I thought. By selecting the text by using shift-right arrow combinations from keyboard. But whooops: it was disabled as well. I cannot tell how annoying it was.
So I had only one choice left: Turn the ducking javascript off!
After I was done with that form page, I turned it back on.
And after all those hassle, I composed an angry feed-back message to the site's admin (which I had to enter in a god damn textarea again - js enabled), asking him whether they have ever "heard about" the terms usability, accessibility and interface design.
That is one reason, for not using js; to give a name, user-unaware silly sites.
And the second reason, errm, I am one of those "developers doing stuff that normal
people don't."
And one third reason, related to the second one, is I sometimes turn it off to bypass so called "security" restrictions (no I'm not a hacker - but examining security flaws is a piece of my work).
Cheers for now!
11.03.2005
The article editor is on its way...
The first release will be for myself to insert content to the site. After successfully transferring all my articles (some published on codeproject, some published on other places, some have never gone out of my hard drive), I'll create a membership system where I'll allow people create and publish their own content.
Since sarmal is not slashdot or evolt whatsoever; I don't think people will rush out to publish their articles there. So initially, it will be a place for 3-4 good-old fellow friends (no not something like 4guysfromrolla :) ), to share their ideas.
Anyway, I want to create something more than a personal blog. So my doors will be open to anyone who wish to collaborate (as long as my servers can handle it).