Skip navigation.

Двойная Радость

Double Joy

Posts tagged with "работа"

быстрое. программистское.

,

до того уже замарался программить, что о неверной рекурсии догадался не из програмного кода, а из лога Apache.

[Wed Sep 26 18:24:06 2007] [notice] child pid 27046 exit signal Segmentation fault (11)
[Wed Sep 26 18:24:06 2007] [notice] child pid 27937 exit signal Segmentation fault (11)
[Wed Sep 26 18:24:06 2007] [notice] child pid 28673 exit signal Segmentation fault (11)
[Wed Sep 26 18:24:06 2007] [notice] child pid 28900 exit signal Segmentation fault (11)
[Wed Sep 26 18:33:08 2007] [notice] child pid 27307 exit signal Segmentation fault (11)
[Wed Sep 26 18:33:08 2007] [notice] child pid 27696 exit signal Segmentation fault (11)
[Wed Sep 26 18:33:08 2007] [notice] child pid 28482 exit signal Segmentation fault (11)
[Wed Sep 26 18:33:08 2007] [notice] child pid 28672 exit signal Segmentation fault (11)
[Wed Sep 26 18:33:08 2007] [notice] child pid 30130 exit signal Segmentation fault (11)

лечиться уже походу поздно :frown:

Ниже описана вся правда жизни :)

, ,

Программеры - они толстые. Потому что они сидят.
А админы - они тощие. Потому что бегают.
Впрочем, бывают тощие программеры. Hо не надо думать, что это исключение из правил - это переученные админы.
Также встречаются и толстые админы. Это обленившиеся программеры.
Программеры курят быстро, потому что мысль. Потому что она уйдет и придется думать ее снова.
У админов мыслей нет, поэтому они курят медленно. Они делают это в те моменты, когда все работает и ничего не падает. Поэтому они курят редко.
Программеры ходят на обед сами. Они приносят много еды в офис и вкусно ей пахнут. Они едят ее прямо на клаве. Потому что мысль.
Админы заказывают еду в офис. Потому что если они за ней пойдут, что-нибудь упадет. И придется бежать в офис с недоеденным гамбургером. Потому что админы любят питаться от Макдональдса. Потому что вкусно, а потолстеть им не грозит. Если они не обленившиеся программеры.
Программеры уходят с работы ночью. Потому что мысль. Hекоторые из них уходят вечером и думают мысль дома. Hекоторые, у которых есть ноутбук, думают ее в метро.
Админы домой не ходят. Потому что если они пойдут домой, что-нибудь упадет. И придется идти на работу. А на работу они ходить не любят. И не ходят. Они там живут. У них обычно есть отдельное гнездо за отдельной дверью, часто запираемой на отдельный замок.
Программеры спят в выходной. Обычно это среда или понедельник. Потому что мысль. В понедельник мысли еще нет. А в среду идет переход от одной мысли к другой.
Админы спят в гнезде. Из-за отдельтного замка в это время иногда раздается храп. Админы редко спят больше десяти минут. Потому что если проспать больше, что-нибудь упадет. И придется просыпаться по необходимости. А админы любят просыпаться сами, пусть и через десять минут.
Программеры пьют пиво. В основном светлое и много. Потому что мысль. Пока она плавает - ее можно думать. Главное, чтобы не утонула.
Админы тоже пьют пиво. Потому что если что-нибудь упадет, им будет пофиг. Админы любят когда им пофиг.
И программеры любят, когда им пофиг. Поэтому часто они пьют пиво вместе. И им вместе пофиг. После этого они спят. Hо не вместе. Админы спят в гнезде, а программеры - на клаве. Когда они просыпаются, они снова пьют пиво. Потому что хочется. Потому что они админы. И программеры.

via <lj user="m0na_sax">

почему нет поиска по записям в Google Reader?

, , ,

решил малость оптимизировать чтение новостных лент, в основном с новыми музыкальными релизами, и посему переместил их в сеть... выбирал между новой бетой Bloglines и Google Reader, выбрал второй, который мне показался более свежим...

наступила ночь и я задался вполне резонным, как по мне, вопросом: а почему это на Google Reader нет встроенного поиска по записям фидов и как сие можно понять и охарактерезировать? в Google Mail поиск присутствует, не говоря там о всяких Google News, Maps и даже, внимание, Blogsearch...

так что же, все-таки помешало инженерам Гугл включить возможность поиска в релиз Ридера? или это они специально оставили возможность для маневра перед запуском финальной версии? эх, монополисты...

ох уж эти клиенты в УА...

, ,

вот, кто мне объяснит, почему каждый, ну практически каждый, клиент пользуется совковым принципом:
Сделайте, мне такое же говно как у них

где страсть к новому, к неизведанному, к чему-то своему, а не к зажовыванию уже разработанного кем-то где-то и его адаптацией под свой логотип?

это же полнейший скам... емаё... а...

пару слов об украинских веб-программистах: проект tuse.com.ua - часть номер раз.

, , , ...

у матерых индийских аутсорсингеров появляется серьезный конкурент в праве попадать в программистские анекдоты, байки и басни... как ни прискорбно - но этими персонажами являются украинские веб-программисты, ибо такого количества багов на отечественных "мега" веб-проектах в мире надо еще поискать...

проект, номер раз, про который пойдет сегодня речь - развлекательная молодежная среда тусе.ком.уа (или Мое Тусэ понад усэ), главной фишкой которой являются обмен сообщениями в онлайне (аля айсикью) и поддержка собственной фотогалереи... как говорят, мои знакомые делал его студент КПИ... что ж если это был первый блин - то он вышел огромным комом...

почему? ну что ж тогда по пунктам...
1. Страница входа на Тусе... Непонятная желтая окантовка у кнопки войти и почему-то выделенная бледным серым цветом активная возможность "Запомнить меня" сразу наводят на мысль о, мягко сказать, неадекватности веб-программистов... нажатие клавишесочетания ктрл+ф3 только приумножает эту мысль... нет, я понимаю что при помощи таблиц удобней выстраивать элементы по странице, но использовать табличную верстку на этой странице - это кощунство... здесь же вообще нет ничего табличного...

и, ах да... ссылки Сделать стартовой и Добавить в избранное, как всегда в .УА, кликабельны только в Осле... других браузеров пока, наверное, еще не выпустили, как жаль...

2. А теперь перейду к собственно главному багу на сегодня для Тусэ... это невозможность юзания клавишесочетания ктрл+энтер в браузерах отличных от Осла и Геко-ядра... и это на сервисе у которого мнгновенные сообщения - главная фишка... почему это клавишесочетание не работает? да ведь потому что, код написан корявыми руками отечественных веб-программистов...

итак, ктрл+ф3 дает нам следующий убийственный фрагмент:
function BODY_onkeypress(e)
{
    var pressed=0;
var we=null;

if (window.event) we=window.event;
else if(parent && parent.event) we = parent.event;

if (we) {       // IE
pressed=we.keyCode==10;
} else if(e) {  // NN
pressed = 
(e.which==10 && e.modifiers==2) || // NN4
(e.keyCode==0 && e.charCode==106 && e.ctrlKey) ||
(e.keyCode==13 && e.ctrlKey) // Mozilla
}

if (pressed) { 

if (trimAll(document.message.msg.value).length == 0) { 
alert('Введи текст сообщения!'); 
return false; 
} else {
document.forms[0].submit();
}
}
}

document.onkeypress = BODY_onkeypress;
if (parent) parent.document.onkeypress = BODY_onkeypress;

каков разгул фантазии у товарищей программистов? да? то-то же ))) они вместо четырех строчек кода потратили на проверку условия нажатия ктрл+энтер 11 строк кода и ничего не добились... ибо код скопипащен из какого-то другого источника и в нем совершенно никто не разбирался, после того, как в уважаемом всеми Осле он успешно заработал... то, что в стране юзают и другие браузеры - никого не ебет, аудитория не пострадает, сайт тоже, рнб и дальше будет в фаворе...

а говно все в том, что работающая версия кроссбраузерного сабмиттинга по клавишесочетанию пишется считанные минуты при помощи Гугла (у меня ДжаваСкрипт забрал минут 5 не более)... и как результат везде работает и все довольны...

не верите? проверяйте:
<?xml version="1.0" encoding="utf-8"?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html dir="ltr" lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">

<head>
    <title>Crossbrowser Ctrl+Enter</title>

    <meta http-equiv="Content-Language" content="ru" />
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    <meta name="Robots" content="noindex, nofollow" />

    <meta name="Author" content="Igor Davydenko" />
    <meta name="Reply-To" content="info@wemakesites.org" />
    <meta name="License" content="Licensed under the GNU GPL v.2.1 or later" />
    <meta name="Copyleft" content="All rights are copylefted" />

    <script type="text/javascript">
    <!--
        function validSubmit(form) {
            if (typeof(form) == 'undefined' || !form) return;

            var text = form.text.value;
            return (text.length > 0);
        }

        window.onload = function() {
            var form = document.getElementsByTagName('form')[0];
            form.text.focus();

            form.onsubmit = function() {
                if (!validSubmit(this)) {
                    window.alert('Please, fill messages text');
                    this.text.focus();
                    return false;
                }
                else {
                    window.alert('Message sended');
                    return true;
                }
            }
        

            form.onkeypress = function(event) {
                event = (event) ? event : window.event;

                if ((event.keyCode == 13 || event.keyCode == 10) && event.ctrlKey == true) {
                    var inputs = this.getElementsByTagName('input');
                    var submit = null;
                    
                    for (i in inputs) {
                        if (inputs[i].type.toLowerCase() == 'submit') {
                            submit = inputs[i];
                            break;
                        }
                    }
                
                    if (submit) {
                        submit.click();
                    }
                    else {
                        this.submit();
                    }
                }
            }
        }
    -->
    </script>

    <style type="text/css">
    <!--
        body {
            background-color: #fff;
        }

        body, input, select, textarea {
            font-family: 'Georgia', serif;
            font-size: 16pt;
            color: #000;
        }

        form {
            position: absolute;
            width: 50%;
            left: 50%;
            margin-left: -25%;
            border: 1px solid #c0cfe8;
        }

        form fieldset {
            width: 100%;
            margin: 0;
            padding: 0;
            border: 0 none transparent;
        }

        form fieldset legend {
            display: block;
            width: inherit;
            padding: 0.2em 0;
            background-color: #eaeef6;
            border-bottom: 1px solid #c0cfe8;
            text-indent: 2em;
            font-size: 18pt;
            font-weight: bold;
        }

        form fieldset p {
            padding: 0 1em;
            text-align: center;
        }

        form fieldset input, form fieldset select, form fieldset textarea {
            width: 100%;
        }

        form fieldset label {
            display: block;
            text-align: left;
            text-indent: 1em;
        }

        form fieldset label:hover {
            text-decoration: underline;
            cursor: pointer;
        }

        form fieldset br {
            display: none;
        }

        .Bold {
            font-weight: bold;
        }
    -->
    </style>
</head>

<body>

    <form action="temp.html" method="post">
        <fieldset>
            <legend>Send message</legend>

            <p>
                <label for="MTo" class="Bold">Choose recipient:</label><br />
                <select name="to" id="MTo" tabindex="1">
                    <option value="friend">Friend</option>
                    <option value="enemy">Enemy</option>
                    <option disabled="disabled">———</option>
                    <option value="father">Father</option>
                    <option value="mother">Mother</option>
                    <option value="brother">Brother</option>
                    <option value="sister">Sister</option>
                </select>
            </p>

            <p>
                <label for="MText" class="Bold">Enter text:</label><br />
                <textarea name="text" cols="20" rows="10" id="MText" tabindex="2"></textarea>
            </p>

            <p>
                <input type="submit" value="Send (Ctrl+Enter)" tabindex="3" />
            </p>
        </fieldset>
    </form>

</body>

</html>


и ведь это только начало... на Тусе еще много всяких жуков, о которых я обязательно вам расскажу чуток попозже, как только их буду "обезвреживать"...

и все же Мы Делаем Сайты

, ,



зы. картинка кликабельна...

и в завершение верстальных/программистких разговоров

, ,

если кто-то думает, что валидность достичь в большом проекте нереально или она там будет совершенно не нужна я ничего не отвечу. ведь ответ очевиден: чем больше документ СТАНДАРТИЗИРОВАН тем более одинаково он выглядит в любом источнике отображения.

так что...
Neformat.com.ua - старая версия = This page is not Valid HTML 4.0 Transitional! (180 errors)
Neformat.com.ua - новая версия = This Page Is Valid XHTML 1.0 Strict!

даже точнее сказать, что новая версия полностью валидна и с XHTML 1.1 доктайпом, но я решил все же юзать 1.0 версию XHTML. конечно, в дальнейшем верстку засрут великие программисты неформата, но пока она еще красивая.

Indeeper

,

а как вы думаете, что (кто) это?

а работа то кипит

,

кстати

, ,

Не успел я сегодня опоздать на работу на полдня, как меня сначала ждало известие о том, что:

"Я - КРОСАВЧЕГ"

а потом меня вообще обескуражили заявив, что:

"Я - ВЫЛИТЫЙ ДЖАСТИН ТИМБЕРЛЕЙК В МОЛОДОСТИ"

как это все может быть связано?