4 черв. 2008 р.

Наша квартира

Давно обіцяв... і ось вона!

Гляньте на лівий верхній край помальованого будинку... це не наша квартира :)
Це мансарда, а ми будем жити під нею.
Сфотографовано це чудо від мами дружини, тому ми зможемо при бажанні обмінюватися з нею сигналами :)

Зсередини ще не було чого фоткати, там все сіре і тільки голі стіни. Тому додаю план квартири, щоб всі бажаючі змогли зрозуміти на що ж вона похожа зсередини.
Планування як на мене просто супер :)
З ліфта (який ще найближчий рік працювати не буде :)) направо, входите і вашому зору відкривається розкішний, просторий коридор. На одній з стін якої буде висіти наша гордість - пазл який ми склали :)
Якщо прийшов з друзями, а дружина з дітьми вже спить - можна тихенько проскользнути на кухню (вона справа).
Якщо не ховаємося - то йдемо прямо у велику гостинну.
Решта - не для гостей :)

П.С. З цінами на квартири творяться погані речі, тому ... Кризису - ДА!

3 черв. 2008 р.

Здай кров - спаси життя

Такі і подібні написи можна побачити в обласній станції переливання крові.
Спитаєте як мене туди занесло?
Держава рішила збільшити кількість донарів за допомогою вагітних :) Щоб оформити декретну відпустку ваша дружина має принести довідку що хтось пожертвував 200 мл своєї крові!
Почалося все в п"ятницю, коли я в 14-30 забіг туди з бажанням здати свою кров і піти далі далі по своїм справам. На мене глянули ліниво і сказали що вже трохи запізно, що мені не срочно і щоб я прийшов в понеділок зранку.
В понеділок я зрозумів чому так! Здача крові - довгий процес з залученням біля 10 лікарів :)
1. Спочатку реєстратура - де тобі виписують карточку донора і направляють здати аналізи крові щоб визначити групу крові і рівень гемоглобіну.
2. Забув сказати про ту карточку! Там я підписався що не надаю сексуальних послуг за гроші і що у випадку якщо я міняю сексуальних партнерів часто то завжди користоюся презервативами :)
Ще я підписався що у випадку якщо я щось приховав (можливо в мене є невиліковні хвороби) і це зашкодило тому коли перелили кров, то це випадок кримінальної відповідальності з моєї сторони. Це що значить що вони не перевіряють мою кров перед тим як її комусь лити!?
3. Відвідуєш два кабінети з лікарями де з тебе за язик витягують історію хворіб. Що цікаво, так те що не можна робити пірсінг перед здачею крові :)
Після того тебе направляють в аудиторію де всіх заставляють пити чай :) Треба сказати що він доволі смачний.
Йду далі... це вже стало схожим на квест з ігри в якому тебе довго готують до останньої битви :)
Підхожу до наступної лікарки.
"Ой, щось страшно здавати кров" - пожалівся їй один з тих хто йшов переді мною.
"Як дінок бити, то всі сильні! А як кров здавати - то всі слабі!" - відповіла вона йому. Ну, думаю, зараз і я отримаю свою порцію пі... :) І чую "Ой, дитинко! Вдівай ці кульочки на ноги і халатик. Не переживай, все буде добре. Проходь ось туди, вверх і весь час на ліво. Акуратненьоко!" Відчув себе дитиною :)
Далі черга бажаючих здати кров прямо перед кімнатою. Не витримав і заглянув в неї, а там декілька чоловік сидять в зручних кріслах, таких як в зубного і здають кров. Не так вже й страшно. Я собі зручно вмостився в диванчику біля тої кімнати і став чекати. Тут чую якийсь двіжняк почався! Вибігла лікарка і сказала звільнити диванчик, після чого винесли з кімнати здорового бугая! От, думаю, перший раз кров здаю, а тут таке. В мене на лиці з"явилася напівістерична усмішка...
- Наступний! Заходьте!
- Заходи (сказав другий в черзі тому хто був перший)
- Та щось вже не хочеться :)

Лікарки не переставали жартували, всім наступним казали що візьмть в них по 400 мл крові замість 200, бо вони дуже добре виглядають :)
Прийшла і моя черга. Вмостився я на кріслі позручніше, проставив руку в віконце, а там, з тої сторони медсестра в марлевій пов"язці почала крутитися біля моєї руки. Я відвернувся, щоб не бачити її махінацій. Не боляче. Потім повернувся глянути що ж там твориться... і за 30 см від себе бачу величезну голку в моїй руці! Ну звісно, з такою голкою як в шпріці вони б пів дня з мене кров цідили :) А пакетик з моєю кров"ю вже виглядав таким великим (своєї крові ой як жалко :)) що я сказав медсетрі "може вже хватить?". Вона тільки ліниво подивилася в мою сторону і сказала що я вже можу не зжимати кулак, а розслабити руку. Через деякий час я відчув що щось не те. Ще через пару секунд в мене стало темніти в очах... лікарки забігали навколо мене... кров перестали брати... я нанюхався нашатиря... голову мені опустили на рівень колін. За пару секунд я вже відійшов і своїм ходом пішов звідти :)
Забув згадати, поки мене відкачували, там ще одному дядьку стало зле, тому лікарки швидко мене кинули і побігли до іншого :)
Вийшло що з мене викачали тільки 140 мл :) (але ж я жадіна!)
Назад ішов через ті кімнати де вдягався в халатик. І та ж медсестра сказала:
- тобі було погано
- трошки
- то зразу видно. на, візьми цукерочку
:) ось так я заробив цукерку, попив чай на халяву і заробив 10 грн. + держава гарантує один день оплачуваної відпустки, але від останнього я відмовився бо вже тиждень не був на роботі.
Ось так розпочався робочий тиждень

27 трав. 2008 р.

Дружині присвячується (не програмісти не зрозуміють) :)

Моя дружина знайшла собі заняття на той час поки чекає на мене з роботи. Вона розгадує японські кросворди (хто не в курсі, це такі де треба замальовувати клітинки і врезультаті отримуємо малюнок). Вона вже доволі добре нацикалася його розв"язувати, але деякі поставили її в глухий кут.
Тут я згадав студентські роки, коли було нємєряно часу і ми займалися тим що нам подобалося (крім останніх 2-х тижнів перед сесією :) ). Мені закортіло згадати алгоритми і структури даних. Я почав писати програму яка розв"язує японські кросворди :) Пишучи алгоритми розв"язку я зрозумів що я розв"язую ті кросворди набагато гірше за мою кохану. Тому програма не зможе рішити ті кросворди які вона не змогла рішити :(
Прийшлось поміняти тактику. Я рішив примінити грубу силу (повний перебір). Тобто спочатку я використовува ті алгоритми які написав, а після того доповнював все з допомогою перебору всіх варіантів. Це був тернистий шлях згадування що таке рекурсія і як її написати :) Коли я перший раз запустив ту програму, то зрозумів що рахувати вона буде довго і тому треба виводити якісь проміжні результати. Так і зробив. Після нескладних математичних підрахунків вийшло що моя програма буде рахувати результат 2.5Е+110 секунд :) Вобщем ви зрозуміли що Сонце згасне швидше ніж я дочекаюся результату :) Після нескладної оптимізації програма почала працювати в 100 разів швидше :)
Вобщем оптимізація не помогла :)
Тут було тільки 2 варіанти виходу з ситуації:
1. Написати програму розприділених обчислень і роздавати ці обчислення всім бажаючим які поставлять в себе ці програми (так роблять для програм які обчисляють структуру лікарства проти раку і т.д.)
2. Поміняти алгоритм обчислення.

Я прикинув, що при 1-му варіанті, навіть якщо 1 млрд людей поставить собі мою програмку, то ми всеі рівно будемо чекати на результат 2.5Е+99 секунд. Тому цей варіант був відкинутий як не ефективний :)

Це вже було питання плану зможу/не зможу.
І ось, після 4-х годин планування алгоритму і його реалізації та після 2-х годин пошуку багів, вона (програма) народилася. Вона розгадує великі кросворди розміром 28*40 за лічені секунди!

Ура товариші! Успіхів вам на творчій ниві :)

Шлях хворого

На дворі чудова літня погода а я хворію. Горло болить. Давно не хворів і не жалію :)
Ну, думаю, захворіло горло - не біда. В мене половина родини - лікарі. Причому вони покривають значну долю професії. Від анастезіологів і лікарів які займаються дітьми до 1 року і до хірургів-урологів, невропатологів і зубних лікарів. Як бачите довгий список, але ні терапевта ні лора серед них нема.
Недовго думаючи я позвонив до лікаря який найближчий до лора - це уролог :) В нього явно хірургічний (різкий) підхід до лікування. Хворієш - пий антибіотики. Антибіотики якось не дуже хотілося. Тут позвонив батько і сказав щоб я позвонив до хресного. Він у мене невропатолог і повна протилежність (як по характеру так і по підходу до лікування) до хірурга :) Хресний прописав ліки попростіші, з порадою "якщо не поможе за 2 дні, то позвони - призначимо щось сильніше".
Нажаль організм не справився... Вобщем за 2 дні мені легше не стало і я пішов в поліклініку...
Все ж таки треба щоб лікар тебе бачив, тоді він зможе краще лікувати ніж по телефону.
Не люблю я поліклініки!
Як ви думаєте, що перше необхідне там коли в тебе болить горло?
Лікарства? Гроші? Ні, картка хворого :) "Без бумажки - ты букашка, а с бумажкой - человек"
Пішов я в касу, яка в протилежному кінці приміщення і після добровільного внеску 3 грн, я отримав карточку. Думаєте все? Ні! Перед тим як піти до лора, треба піти куди? Правильно - на рентген :) А куди без нього?! І взагалі кого тут хвилює що в мене болить і яка в мене температура :) Рентген, доречі, коштує 1 грн. Поки я стояв в черзі, то ще вспів покашляти на толпу школярів і ліцеїстів, яких теж туди направили.
І ось він довгожданий момент! Я не сподівався пройти цей квест так скоро! Мене направляють до лора!
Ще пів годинки в черзі і я опиняюся в компанії веселого лікаря і його помічниці. За 5 хв вони витягують з мене інформацію про те звідки мій рід, де я проацюю і ким, як саме я захворів, чому я гуляв вночі легко вдягнений, і вспіли поприкалуватися з того що я собі зробив опіки на горлі пастою розенталя (хто не знає, ще така штука яка сильно пече).
Що до лікарів - в мене претензій не було. Я б і ще трохи в них посидів :)
От що впало в очі, так це те що іншому пацієнтові, в якого список лікарств був набагато соліднішим від мого, список виписали прямо на бланку аптеки яка розташована поряд і зі словами "йдіть туди, там дешевше" відправили його куди їм треба :)
Чесно кажучи, все було не так страшно як я думав.
Здоров"ячка вам!

1 квіт. 2008 р.

Назбиралося

Привіт :)
Почав писати про те чому програмісти заробляють більше ніж інші... але якось думки плутаються, в результаті вийшло щось типу "тому що заслуговують" :)
Взагалі якщо не розглядати систем які створені тільки для заробляння грошей (мережевий маркетинг, макдональдс і т.п.), то гроші зароблять ті хто створють щось. Здавалося б просто, але мені здається це не всі усвідомлюють. Ось тому програмісти заробляють 1500$ (зп J2EE програміста в 2008 році по даним сайту http://www.developers.org.ua/salary-db/data/salary-by-year/2008). Для порівняння, середня зарплата по Україні в лютому стновила 1 633 грн. Як бачите цифри приблизно ті ж, але валюта помінялася :)
Візьмемо, для прикладу, бухгалтерів. Я вчив бухгалтерію і мушу сказати що вона складніша ніж програмування, там більше відповідальності і можна легко попасти на гроші чи під кримінальну відповідальність. Але зарплати там менші. Чому? Вони не створюють, їх сприймають як ще один податок для підприємців. Бо підприємцю даром не потрібна вся ця звітність, він дуже просто може підрахувати свої прибутки і витрати.

Далі вставляю цитату з статті, бо краще все рівно не скажу.
«Брейн, а что мы будем делать завтра? Как всегда, попытаемся захватить Мир!»

Очень часто перед разработчиками (вообще говоря, перед людьми любых профессий) стоит эта самая задача: «захватить мир». И день ото дня, месяц за месяцем, возможно, год за годом, они пытаются сделать это… Захватить Мир!

Безусловно, это абстрактный пример, но он, как мне кажется, даёт понять, что зачастую люди работают над проектом, когда непонятно, что именно надо сделать «здесь и сейчас!», как разбить проект на части, с каждым днём приближаясь к его финальной реализации, какой следующий шаг и вообще – что же в итоге должно получиться?!

Если перед вами стоит такая задача, и вы не телепат, который может прочесть мысли заказчиков, начальников, предугадать все неожиданности развития ситуации – то вы попали в беду. Особенно, если перед Вами стоят чёткие и сжатые сроки на выполнение. Реализовать этот проект в срок – фактически нереально.

Вы даже можете хорошо представлять, что должно получиться в итоге, но у вас нет почти ни одной детали выполнения проекта, перед вами лишь перспектива и ни одной реальной задачи, которую Вы можете сесть, и за 1-2 рабочих дня полностью реализовать. Что происходит тогда? Вы начинаете делать так, как считаете нужным. И так поступают все – и гуру своего дела, и начинающие специалисты. В итоге, вы можете разработать безупречно тот или иной этап проекта, но… Придёт начальник, заказчик, клиент – и скажет, что это совсем не то (или частично не то), что он хотел видеть. Что надо сделать так и так, совсем не так, как сделали вы. Результаты – день или два (в лучшем случае) вашей работы летят коту под хвост, вы садитесь переделывать эту часть проекта заново, но вы уже никогда (скорее всего) не сделаете её с тем же энтузиазмом и так же быстро, как делали изначально по своим соображениям. Такова психология большинства людей. Конечно, если вы к таковым не относитесь – это плюс.

В итоге, реализуя так одну часть проекта за другой, исправляя всё раз за разом, выполнение проекта может затянуться на срок, в 2-3-4 раза превосходящий изначально поставленный.
Как вы уже поняли, это был пример на подход «сверху вниз».

Як бачите, "щось тут не так". А все мабуть тому що основною роботою займалися не професіонали а замовник. "Він ж замовник" скажите ви. Але ж якщо ви замовите комусь сантехніку у ванну, то ви не будете розказувати що "поставте мені ту прокладку на кран, бо вона краща, а ці частини від того виробника, а тут використовуйте не ту відкрутку, а цю, і взагалі я хочу щоб кран трансформувався в душову кабіну або сауну, і щоб це все було зроблено за 2 дні".
Тут як казав один наш викладач-"фифтемотехнік", головне система. А система на диво схожа де б вона не була. Тобто якщо перенести окремі принципи з програмування у реальний світ, то все стане набагато простіше. Наприклад, в програмуванні завжди розділяють інтерфейс і реалізацію, вводять окремі сервіси/делегати для виконання тих чи інших задач. Ось де було б класно якщо б замовник просто сказав "я хочу бачити таке", а решта - проблема програмістів.

Tongue twister 2

Whether the weather be fine,
Or whether the weather be not,
Whether the weather be cold,
Or whether the weather be hot,
We'll weather the weather,
Whatever the weather,
Whether we like it or not.

Особисто мені ця скоромовка далася доволі тяжко, бо треба витягувати губи вперед говорячи букву w і ставити язик між зуби говорячи th. В мене получалося що в мене язик завжди між зубами, тому я шипелявив :)
А як це получилося у вас?

4 бер. 2008 р.

Вона рухається!

Вона рухається :)
Моя дитина рухається... всього лише прикласти руку до живота коханої... пару секунд... і удар... ну звісно не такий сильний як у футболістів :) але є!