February 2009 Archives

Дійшов вчора до тестового запуску спайдера. Взяв кілька новинних ресурсів і запустився. В якийсь момент процес вилітає. Справа звична: вмикаю debug output, запускаюсь знову і втикаю в журнал. Знову вилітає, але з логу зрозуміти що саме сталось не получається. Ок, додаю ще кілька printf'ів біля потенційного місця вильоту, ледь не через рядок коду по одному. Знову запускаюсь. Кукіш з маслом. Починаю думати.

В мене make збирає одразу дві версії модуля - нормальний elf та bytecode-версію з дебажними символами для використання в ocamldebug. Додаю ще принтфів та запускаю дебагер. В якийсь момент дебагер каже, що зв'язок з програмою втрачено. Ось так просто: була собі програма, а тут раз, і загубилась. Знімок стеку показує приблизно місце, де загубилась програма: module Unix char 4711. Знаходжу це місце в unix.ml: нормальний шмат коду, що викликає single_write, та при деяких умовах викидає виключення Invalid_argument. Але це виключення в мене перехоплюється. Я заплакав і пішов спати.

В якийсь момент в голову приходить світла думка: зібрати з дебагом бінарь і згодувати його gdb. Перший-же прогін дає результат: процес закінчився, отримавши в голову SIGPIPE'ом. Яка ганьба! По-перше - мені, бо це взагалі штатна ситуація: при масових закачках з connection reuse майже завжди виникає ситуація, коли сервер таки з'єднання закриває, а клієнт в це з'єднання ще щось намагається записати. По-друге - авторам ocamldelbug: соромно не повідомляти користувача про приліт сигналів в UNIX-середовищі.

Забув подивитись Доктора Хауса о шостій. Отжеж.

Юра правильно вказав на те, що розраховуючи податки я не врахував прибутковий податок, що в Україні встановлений на рівні 15%.

Таким чином, якщо вам на контору впала 1000 гривень, то після сплати всіх податків на руки ви зможете видати (чи отримати) всього 480 гривень. 52% ви повинні віддати державі. Більше половини, мля.

Але це я розрахував податки для юридичної особи, що знаходиться на спрощеному режимі оподаткування. Якщо з цього виділити оподаткування виключно фонду заробітної платні, то картинка вийде не набагато краща: з кожної гривні фонду заробітної платні роботодавець має сплатити 47 копійок державі. Майже половину. І тільки решту він може видати на руки.

Українські податки - це, сцуко, щось.

Уявіть собі, що у вас є невеличка компанія (ТОВ) і ви хочете продати (чи продавати на регулярній основі) якісь послуги від імені цієї компанії. Причому ви отримаєте всі гроші, що залишаться на рахунку компанії після сплати податків. Припустимо також, що компанія знаходиться на спрощеному режимі оподаткування і не платить ПДВ, тобто, вона має сплачувати 10 відсотків з обороту. Також компанія не застосовує такого поширеного методу зменьшення податкового тягаря, як СПДФО.

Тоді:

З кожної гривні, що впаде на рахунок спочатку сама компанія заплатить 10 відсотків. Далі, для того, щоби нарахувати вам з/п в розмірі, скажімо, 100 грн, компанія зобов'язана сплатити в пенсійний фонд - 32.5 відсотка, плюс ще 2 чи 3 відсотка обов'язкових платежів типу платежу в фонд страхування від нещасних випадків на виробництві, якими обкладається фонд заробітньої платні.

Таким чином виходить, що якщо ви хочете легально надавати якісь сервіси від імені юридчної особи, то ефективна ставка податку складе близько 35 відсотків. Ставкою в розмірі 30 відсотків деякі держави обкладають види бізнесу, які треба конкретно пригальмувати, типу табачної.

Зверніть також увагу на те, що левова частка податку на фонд заробітньої платні іде до Пенсійного фонду. З якого потім політики годують пенсіонерів, які потім голосують за цих-же політиків, фактично, за збереження поточного стану справ.

Хто і для чого ним користується?

За наводкою Дюши.

Відповідально заявляю: FireBug вирішує та допомагає, а верстальникам Газети.UA треба відірвати яйця. З іншого боку, в них нормально так xml-фідів. Але все одно.

_dreamii.gif

Хто ще не бачив дитячу книжку про смерть - терміново дивитись.

З приводу Дарвіна, теорії еволюції та різних недоумків-креаціоністів відповідально заявляю:

Той, хто хоча-б раз у життя спостерігав, як генетичний оптимізатор знаходить оптимум функції багатьох змінних, ніколи в житті не піддасть сумніву теорію еволюції, для розвитку якої так багато зробив ювіляр.

Хоча більшість з тих, хто зрозуміє попередній абзац, і так в ній не сумніваються.

Повертався з дитиною з Треміналу в Броварах. Щоби не їхати на Саксаганського в пробки (справа була біля 16:30-16:40) - заїхав на паркувальний майданчик, що біля Палацу Україна. Залишив машину і повіз дитину на метро. Парковка платна, паркувального талону в мене під лобовим склом не було.

Прогулялись, завів дитину додому. Біля шостої зустрівся з дружиною і ми поїхали назад до палацу Україна; заодно вирішили повечеряти в Угорському домі (до речі, рекомендую). Проходячи повз стоянку помічаю, що машина заблокована, поруч стоїть евакуатор.

"Хехе...", - думаю. Прийшла пора перевірити схему дій пані Монтян в дії. Але якщо машина вже заблокована і під наглядом, то чого смикатись? Продовжуємо рухатись в "Угорський Дім". Годину-півтори вечеряємо. Потім ідемо в офіс та повертаємось до машини.

На годиннику 20:15, машина стоїть. Ані блокираторів, ані евакуаторів поруч нема. Як одягнули, так і зняли. Я думаю, що справа в тому, що в блокувальників робочий день закінчується о сьомій-восьмій, а блокиратор коштує грошей.

P.S.: якщо мені прийде штраф за неправильне паркування (я був на платній парковці без талону) - сплачу без жодних сумнівів.

В Київ повернулась зима. З чим всіх і поздоровляю.

Є такий вислів: мудрі обговорюють правила, розумні - події, дурні - людей.

В останній криптограмі Шнайдера сподобалась стаття про exclusionary rule (правило неприйняття судом доказів, зібраних незаконним шляхом) та помилкою в базі даних. В статті описується випадок, коли в наслідок такої помилки, - в базі даних був ордер на арешт не тої людини, - поліція заарештувала чоловіка та провела обшук в його будинку.

Солянка грибна та м'ясо смажене з гвоздикою під гречневу кашу.
Їм і тихо заздрю сам собі :-)

Ви можете скільки завгодно піклуватись про суспільство та його цінності, любити людей та керуватись цією любов'ю у своїх вчинках, але в решті решт все одно переможе справедливість.

Мені здається, що стрімке зростання неуцтва, креаціонізму, популярності передачі "Модний пріговор" та потягу до урінотерапії в сучасному суспільстві легко пояснити зростанням середнього рівня життя.

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

Зараз ситуація змінилась: інженерів та науковців стало більше, їхній середній дохід впав. Середній-же рівень доходів "демократичної більшості" (це каменюка в твій огород, Русланко :-) виріс і тепер ніхто не каже пошепки з піітетом, вказуючи на великий будинок з парком за парканом: це будинок Інженера(!) Уайта! В інженерів та людей науки такі самі машини та квартири. А деякі з них (тільки тсссс... хе-хе-хе) взагалі на придурків схожі.

І далі "демократична більшість" робить банальний висновок: "і ці люди будуть забороняти мені колупатись в носі?!?!?!" Або іншими словами: "а хто ти такий, щоби вказувати мені на те, чому вчити мою дитину? У мене машина дорожче!".

І їх теж можна зрозуміти: не всіх захоплює світло істини, чи безжальна радість від вирішення складної задачі. Комусь достатньо і запаху шкіри в салоні кредитного авто. І тому кожному, хто за науку, вищу математику в школах і "Discovery Science", треба зупинитись і спитати себе: а чи маю я право піклуватись про дитину сусіда більше, ніж він сам піклується про неї? Не про її фізичну цілісність та нормальне харчування, а про її життєву стратегію та картину світу?

Я особисто на себе таку відповідальність не візьму.

Дехто тільки думає про переїзд, а дехто вже переїжджає. Там в коментарях - адреса московської контори, що сприяє відкриттю бізнеса в Чехії.

Журналіст BBC (Ж) бере інтерв'ю в генерального секретаря НАТО Jaap'а de Hoop Scheffer'а (J):

(Ж): Is Russia to be trusted?
(J): Mmmm ... Blah-blah-blah-blah...
(Ж): Is Russia to be trusted?
(J): Blah-blah-blah-blah...
(Ж): Is Russia to be trusted?
(J): Blah-blah-blah-blah...
(Ж, втративши терпіння): Ok, I'll ask you in other words... IS RUSSIA TO BE TRUSTED?

На додачу до роздумів: я все ніяк не міг зрозуміти, чому мене в Швейцарію тягне. Чому не Франція, не Німеччина, не Британія, а саме Швейцарія? Виявиляється, все просто.

Ось чому!

Останнім часом щось дуже часто в розмовах з друзями почало проскакувати тема "поїхати пожити за кордон". Причому це з кризою не пов'язано: "останній час" - це рік-півтора приблизно.

Основні причина, що згадується - це невиправдано висока вартість життя. Хоча якщо навіть трохи подумати, то кількість питань можна легко розширити: жахливі дороги, сумнівна охорона здоров'я, безконтрольна екологія, безпека (привіт мусорам) та вкрай низька якість сервісів, що надаються різними державними установами. В кого є свій бізнес, той може легко розширити цей список іще цілою низкою пунктів і безліччю матюків.

Наочно вимальовується системна криза, з якої різні люди бачать приблизно один і той самий вихід: аеропорт Бориспіль.

Як всі вже знають, Фаіну звільнили. Ось тут - посткриптум. Перебіг подій, на мій погляд, - реалістичний. Шкода, що неможливо ніяким чином перевірити дані статті через інші джерела інформації.

СТБ - все. Те, що канал потихеньку збільшує кількість реклами в серіалі, було видно неозброєним оком. Але до вчора це ще можна було терпіти. Вчорашній-же сеанс став втіленням світового зла: після перших п'яти хвилин серії вони всунули 20(!) хвилин реклами, анонсів і навіть прогнозу погоди.

Я, мабуть перейду на торент.

Позавчора в Фондю-барі, що на майдані в Метрограді, в мене з куртки вкрали гроші. Майже три штуки баксів. Спочатку в мене були сумніви щоди місця крадіжки. Але сьогодні Юлька поговорила з подружкою і виявилось, що в той-же день в неї також вкрали гроші з куртки, зданої в гардероб.

Завтра поїду говорити з адміністрацією. Заодно накатаю заяву в ментовку.

P.S.: А ще вони ну дуже довго готували їжу. Не ходіть туди.

Ето тру:

Gundjaev+Shnaider.jpg

Новому патріарху подарували золоте яблуко. Задумайтесь.

Випив буквально пів-пляшки грузинського під Брі. Через пів-години на мене напало человєколюбіє і, падло, не відпускає.

Що робити?

Перші враження - позитивні. Реально. Для старту взяв собі Безліміт 10 і вже через пару годин вимкнув модеми Волі і ОГО.

Перше, що запитали бійці, що прийшли підключати: "Що, теж з Волі зіскакуєте? Хехе..." Симптоматичне питання, я вважаю.

Подивимось, що буде.

Пошкодував. Сцуко, як головою об стіну. В людини замість адекватної картини світу якась дитяча книжка з розкрасками.

Показова гілка.

Так ось ти який, клятий адварщик! Ату його!

P.S.: до речі, Scheme - один з діалектів Lisp'а. Задумайтесь.

Пишуть, що активізувались збірщики різних штрафів.

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

Думаю, це ініціатива Юлії Володимирівни Тимошенко.

... також важка праця, секс, наркотики та насильство:

Культурні традиції інших народів треба поважати беззастережно.

Всім, хто буде вирішувати завдання обробки за допомогою регулярних виразів текстових даних, що є результатом декодування html'я , раджу запм'ятати, що існує кілька пробілів - звичайний, та неперервний, NBSP. Для другого пробіла в SGML/XML/XHTML існує спеціальна сутність, що так і називається "nbsp". Так ось ця сутність при декодуванні в текст може отримувати різні коди, в залежності від цільової символьної таблиці:


  • ISO/IEC 8859 ⇒ 0xA0

  • Win 1251 ⇒ 0xA0

  • KOI8-U та KOI8-R ⇒ 0x9A

  • CP437 та CP850 ⇒ 0xFF

Відповідно, регулярний вираз "^[[:space:]]*$" не розпізнає порожні рядки, оскільки в стандартний клас символів "space" входять тільки HT (0x09), LF (0x0A), FF (0x0C), CR (0x0D), та "звичайний" пробіл (0x20). Деякі реалізації, правда, додають до класу "space" ще VT(0x0B), але кодів для NBSP в цьому списку нема в жодній реалізації.

В Perl 5.10 та Pcre 7.8 є спеціальні класи символів, \h та \v в які зібрані щонайповніші набори горизонтальних та вертикальних пробілів. Відповідно при застосуванні однієї з цих двох реалізацій регекспів найкращий результат дає вираз "^(\v|\h)*$".

Я загойдався сміятись над нашими політиками. Хочеться чогось новенького.

Наприклад, час від часу - їх поважати.

Сторінки

Про цей Архів

This page is an archive of entries from February 2009 listed from newest to oldest.

January 2009 is the previous archive.

March 2009 is the next archive.

Свіжі записи можна подивитись на головній сторінці. Все інше - в архіві.