Архив метки: провал

Социальная защищённость, пенсионный фонд

История из жизни про ПФУ и, казалось бы, при чём здесь программирование. Будучи зарегистрированным физическим лицом-предпринимателем, я должен раз год сдавать отчёт в Пенсионный фонд Украины. В этом году я делал это самостоятельно через Интернет в электронном виде. Надо сказать, что для ФЛП на упрощённой системе налогообложения («единый налог») без наёмных рабочих, если при этом не платится каких-то дополнительных денег ПФУ сверх минимально установленной суммы, данный отчёт — не более чем бессмысленный перевод времени и бумаги. Рискну предположить, что это относится к большинству ФЛП. Единственная осмысленная информация, которая туда заносится в описанном случае, это вид применяемой налоговой системы и табличка рассчёта оплаченной суммы единого социального взноса помесячно (одинаковая для всех ФЛП на ЕН, если опять же ничего сверх минимального не доплачивать). Вот такая:

Обратите внимание на сумму в кружочке. Она неправильная. Поэтому мой отчёт не приняли, о чём меня уведомили смской (молодцы же). Как же так вышло? Очень просто. Отчёт я делал в программе «АРТ-звит», которая продуманно сама высчитала эту сумму за меня. Но как же она ошиблась? Всё дело в округлении, бро. Программа честно высчитала эти проценты, просуммировала и в конце округлила. А человеки сначала высчитывают проценты, потом округляют, а суммируют уже округлённое, что в общем-то правильно, ведь платил я уже округлённые суммы. Вот и закралась ошибка на целых 2 копейки, которая стоила государству интересно сколько времени работы клерка из ПФУ.

Не менее интересно, что же делать теперь, когда отчёт не принят. Очень просто, пересдать его можно только лично клерку, напечатав на бумаге. Сопроводив при этом письмом, содержание которого клерк мне пробурчала в трубку, сказав потом, что примера нет, и она мне только что всё «продиктовала». Суть письма кратко формулируется так: «Прошу принять исправленный отчёт и не применять ко мне штрафные санкции, потому что по закону в этом случае ко мне нельзя применять штрафные санкции». Не забыть ещё подписать у Капитана Очевидность.

Я далёк от того, чтобы люто негодовать по столь незначительному поводу. Благо, наша молодая демократия предоставляет множество гораздо более весомых поводов для негодования. Так что я просто рассказываю, а мораль уже придумайте сами.

P.S. В качестве бесплатной рекламы моих друзей из Таксера: их сервис считает сумму правильно :)

Жизнь после выборов

«Не приведи бог видеть украинский послевыборный протест, бессмысленный и беспощадный»
(если бы А.С. Пушкин жил в Украине 21-го века).

Если без долгих философствований, то это были странные выборы. И акции протеста такие же. Хотя что странного в том, что граждане Украины жутко устали от политических процессов, где любой расклад проигрышный для них. Даже Аваков, когда сегодня общался с людьми на площади, тихо говорил, что он-то, конечно, борется, суды идут, но настолько бесполезно это, что только зря теряешь время. Судьям-то что? Они до бесконечности могут в исках отказывать и ходатайства отклонять. И всё ещё делает что-то он только для того, чтобы не отнять у победы Кернеса этот крепкий душок всеобщего наглого кидалова, характерный для всех предприятий Геннадия Адольфовича. Честно, примерно так и говорил — я в двух метрах стоял, сам слышал. Только люди из Зелёного фронта и зелёнофронтообразующих организаций заряжены на борьбу и громко кричат.

Лично для меня выборы прошли весело. Мне даже понравилось быть в комиссии. А из-за рекордно низкой явки, ещё и напрягаться особо не пришлось. Никаких нарушений, никаких проблем. Глава комиссии — от Партии Регионов, но Кернес ей не нравится, а фальсификации — не её профиль. Может поэтому на участке и победил Аваков с результатом 130 голосов на 100. Ад случился только в городской комиссии, куда я, не спавший ночь, ездил сдавать бюллетени. Клоака украинской демократии — это самая правильная метафора для горизбиркома. А ещё — квинтэссенция тотальной неорганизованности украинского государства.

Эту неорганизованность им и вменяют в вину. В неразберихе, конечно, удобно подмахнуть тысчу-другую голосов, с этим трудно спорить. Но пока что конкретных претензий из лагеря Авакова слышно мало. По объяснениям самого Авакова, как я их понял, это потому что трудно ткнуть во что-то конкретное. В ближайшее время обещают опубликовать все протоколы. А пока, вот конкретные эпизоды, которые лично я почерпнул из тихой беседы Авакова с народом на площади и обращения Харьковской правозащитной группы:

  • Оказывается, на ряде участков не проставили штампик «Выбыл» поверх фамилии Денисенко (кандидат в мэры). Это выглядит реально подозрительно, потому что он выбыл сильно заранее (хотя распиздяйством и тут можно объяснить). Бюллетени без такого штампика, по словам Авакова, трактовались вольно: где посчитали, а где кучей списали в недействительные.
  • На одном из двух участков в студенческом общежитии явка 40% (реальная), на втором — больше 90%. На первом картина в целом ровная, а на втором победил понятно кто. Представители Батькивщины «ушли» с участка.
  • Результаты по ряду участков были откорректированы «уточнёнными» бюллетенями. Кто их «уточнял» и в каких обстоятельствах вызывает вопросы.

Чем это всё закончится — не ясно. Моё правило — участвовать в массовых протестах, так что экзистенциальные вопросы на этот счёт меня не мучают. Будут ещё митинги? Я прийду.

Бизинес ин Юкрейн

Или «Маленькая история серьёзных покупок выходного дня»

«Из тяжелой промышленности в городе развиваются лишь супермаркеты», — сказал Жадан (в переводе на русский). В субботу, когда потребовалось быстро выбрать и купить покрытие на пол в объятую ремонтом квартиру мы поехали в супермаркет. «Дача — это твоё хобби? Оби!» — мой любимый образец идиотского рекламного слогана. Вот туда и поехали.

Не скажу, что выбор линолеума и ковролина там скуден — в итоге мы выбрали и нам это понравилось и нравится до сих пор (3 дня уже) — но определённо не богат. Плюс от 5 до 10% ассортимента были помечены табличками: «Извините, эти образцы висят здесь просто так, но вместо того, чтобы убрать их, мы решили повесить эту табличку».
Читать далее

MySQL C++ Connector Fail

В текущем проекте возникла необходимость работать с MySQL базой данных из C++. Кроме базового API на «чистом»  C, разработчики MySQL (кому она там сейчас принадлежит?) предоставляют надстройки для различных языков программирования, называя их connector'ами. В их числе имеется и красивая высокоуровневая обвязка для C++. Хорошая альтернатива слабо предназначенному для непосредственного использования libmysqlclient, казалось бы.

Вскоре начались проблемы. Случайные вылеты, причинами которых были баги самого мерзкого характера: какая-то дрянь портила чужие области памяти. Потратив предварительно несколько часов, я так и не сумел сходу решить проблему. Уже тогда я подошёл вплотную к MySQL коннектору, но решил что столь явной проблемы (на максимально простом тест-кейсе) в официальной библиотеке быть просто не может, а значит проблема где-то раньше в моём коде. Потому решено было временно отложить решение (вылеты были регулярными, но не столь частыми) и сначала дописать функционал до определённого уровня, что и было проделано.

Пришло время второго захода. В ход пошли хитроизощрённые отладочные техники с hardware watchpoint'ами и утилитами для отслеживания выделения памяти. Снова несколько часов и снова вижу проблему в connector'е. Тут-то я наконец сосредоточенно погуглил и нагуглил письмо в mailing list MySQL, где описывалась похожая проблема. Автор письма потрудился залезть в исходники коннектора (что я уже было собирался делать) и обнаружил там серьёзные проблемы. Кому интересно, подробно могут почитать по ссылке, но суть в том, что там просто элементарная ошибка (и не одна) с освобождением памяти, которая приводит к самым неприятным последствиям.

В итоге, код работы с базой (благо, ещё не разросшийся) был переориентирован на использование сишной libmysqlclient и счастье наступило.

Мораль:

  1. Не используйте MySQL C++ Connector. Это какой-то вообще слабо поддерживаемый проект. Мало ли что там ещё за проблемы найдутся.
  2. Нельзя доверять третьесторонним библиотекам даже если они часть хорошо зарекомендовавших себя продуктов. Если бы не моё слепое доверие, времени на починку было бы потрачено в разы меньше.

UPD. Кстати, существует ещё mysql++. Не пробовал, но должно быть ок.

Терминатор 4

Терминатор 4 — ужасен. Можно не смотреть. Насыщенность событиями — как в одной серии дешёвого sci-fi сериала. Сюжет можно изложить в трёх предложениях, два из которых есть в анонсе. Голливудские сценаристы продолжают однообразно фантазировать на тему «сигналов», «компьютерных сетей» и прочих типа современных технологичных штучек, в которых ни черта не смыслят. Надоело уже, честное слово.

Резюме: третья часть была лучше, если она вам не понравилась, то на четвёртую даже не стоит тратить времени.