Quote of the Hit

Default featured image
ИТ и интернет експерт, инженер, предприемач, блогър и фотограф от Пловдив. Основател на OpenFest, съосновател на Trakia.Tech, няколко технологични компании и сайта за независима журналистика „Тоест“. Фен на WordPress, книгите и музиката. Вярва, че можем да направим света по-добър.

Leave a Reply to пейо Cancel Reply

Comment as a guest.

  1. Любопитното на това решение е, че е 100% client-side. Дори елементарната логика по избиране на случаен цитат е изнесена при клиента, тъй като по това време явно си имал възможност за хостване само на статични страници.

    Никакви такива сложни сервитьорски неща като WordPress, PHP или MySQL, дето човек да се чуди къде и как да ги хоства през 1997-ма… :-)

  2. Мда! Абсолютно си прав – тогава имаше един XOOM сървър за безплатен хостинг и почти никакви екстри. Вече го няма – лека му пръст! Какви ти бази, какво ти server-side програмиране…

    Всъщност на същия XOOM около края на 1998-ма се появи и Linux center-а, който едва после стана linux.gyuvet.ch… Той също е/беше изцяло статичен или по-скоро с 100%-client-side динамика ;)

  3. JavaScript не е стихията ми, но не можах да се сдържа да усъвършенствам скрипта, така че цитатите вече да могат да са произолен брой (вкл. и над 60). Далаверата е да се използва функцията Math.random() заедно с размера на масива, вместо директно да се обръщаме към часовника и да третираме секундите като индекс.

    Ето го patch-ът:

    qoth-k1.tar.bz2

    Йовко, ще го accept-неш ли в upstream? ;-)))

  4. да се таковам в тиквата…. чак сега погледнах с каква точност след десетичната запетая се генерира случайното число.

    при такава точност колизиите ще са толкова малко, че бих спал спокоен, че ако посетителите ми презареждат страницата няколко милиона пъти ще видят непропорционално количество от всеки цитат.

  5. абе не ме бийте, ама както го е написал калоян имаме проблем със "случайността" . има стойности, които са по-вероятни от други (весо веднага би казал "колизии" ).

    това се дължи на това, че math.random() генерира случайна стойност м/у 0 и 1 и при това условие, ако целочисленото деление на дължината на fortune масива не връща 0 има стойности , които ще са по-вероятни от другите.

    та аз предлагам да се ползва нещо такова:
    function getFortune() {
    var mytime = new Date(); // new date object
    var len = fortune.length;// how many fortunes we have

    return fortune[mytime.getTime()%len] ;
    }

  6. Не се таковай, man! Всъщност идеята на първоначалния скрипт да е вързана с часовника беше именно да подсигури, че евентуален reload е по-малко вероятен да се случи точно в същата секунда като предишния. ;)

    Баси колко изписахме за двуредов скрипт…

Read Next

Sliding Sidebar