четверг, июня 28, 2012

Doctrine и Propel как способ разнообразить свою сексульную жизнь

Очень давно не записывал снов. Сейчас вспомнился один. Только, осторожно, дальше материал из ряда "только для взрослых".

Приснилось что две девушки, Doctrine и Propel, занимались сексом. А после того как Propel уснула я говорил Doctrine что всегда любил их обеих, но её, Doctrine, намного больше.
Кажется у меня интоксикация трудом.

Банки, наймите хороший программистов и не позорьтесь

Уважаемые Банки.

Вы в конец обалдели или всегда таким были?

Я ещё могу понять вашу жадность до денег. Давать автокредиты под 15 процентов, давать деньги в долг под 35+ процентов. Это нормально. Не хочешь - не бери. Но, блин, это уже все рамки переходит.

Вот эту строчку как понять, уважемая(ый) Банк Тинькофф?
Уважаемая(ый) Никулин Иван Александрович! 
Вы что, не можете нанять нормального программиста, который выдернет из вашей базы пол и в шаблоне применить нужное обращение? Если он такой дурак, то может замените на "Здравствуйте"?


Уважаемый Московский Кредитный Банк, вы думаете у меня к вам притензий нет? Вот это вот что? Скриншот фэйла с терминала

Сначала вы мне ответили что - "терминал был сломан". Ага. И полгода вы не могли его починить. Руки у ваших программистов были сломаны и кодили они, видимо жопой.

Моё сообщение что за полгода ошибка так и не была исправлена вы вообще проигнорировали. "Молодцы". Ай да ориентация на клиента.

Какого чёрта дата ближайшего платежа - пятнадцатое НУЛЯБРЯ? Какое ещё нулября? У вас программист не знаком с массивами? Или проблемы с датой? Увольте его и найдите НОРМАЛЬНОГО!


Я понимаю что вы жадные, но вы продаёте деньги по бешенным ценам. Выделите хотя бы 100 000 в месяц на хотя бы того кто будет работать.

суббота, марта 17, 2012

Как потерять друзей или дружба ценой в 15 000

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

Итак, что же случилось...

среда, января 25, 2012

Как потерять деньги и время с Зовом-кухни

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

Вобщем дошла очередь до ремонта на кухне. По отзывам и сравнив цены в Леруа-мерлен, ИКЕЕ, Зове-кухни, а так же просто по внешнему виду конечной продукции победил, к моему сожелнию, Зов-кухни. Дальше - почему они, пардон, козлы.

В конце ноября 2011-го года мы радостные явились к ним в магазин на Дмитровском шоссе и, заполнив все договора, заплатили 50 процентов стоимости наличными, а остальное взял и рассрочку. Фактически деньги они получили все и сразу. Просто мы "попали" на ещё один кредит. Нам сказали ждать кухню 31 рабочий день что мы и начали делать. Попутно вёлся ремонт в кухне - попался очень хороший подрядчик (не то что с ванной) и сделал всё быстро, дёшево и хорошо.

Через две недели ожидания мне позвонили из Зова и сказали что выбранной нами мойки за 5 000 нет. Но они могут предложить замену с доплатой. Эссественно, лучше продать дороже... Отправил их к супруге, супруга согласилась и мы стали ждать кухню дальше.

Через неделю я съездил и Леруа-мерлен и увидил что фурнитуру можно было купить раза в два, а то и в три дешевле чем мы заказали в Зове. Плюс мойка... Решили откзаться от мойки и взять ту которую хотели, а не ту которая осталась. Плюс по разумной цене.

Звоню в Зов:

  • Здравствуйте, хочу откзатаься от мойки.
  • Ой... А куда мы её денем?
  • Не знаю, вам решать. Тем более я вправе отказаться от товара в течении двух недель, а сейчас у меня даже товара нет.
  • Хорошо, я подумаю что можно сделать.

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

В этот же день звоню в Зов что бы узанать почему мне ни мойки не привезли ни денег не вернули. Меня отправляют писать письмо, которое потом переправят начальству. Почему я не могу сразу начальству написать?..

Написал. Через неделю получил ответ:

Иван Александрович, когда вам сообщили, что заказанной мойки нет в наличии и предложили заменить на другую модель, вы согласились и на замену и на разницу в цене!!! Но перед самой доставкой кухни вы позвонили и отказались её принимать! Так как любая техника заказанная вместе с кухней по индивидуальному проекту возврату не подлежит, мы вынуждены вам отказать в возврате денежных средств за мойку! ИП Обухова Л.В.

Видимо та с кем я общался по поводу мойки передала мои слова начальству только когда делалась доставка...

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

На это письмо нет ответа уже полторы недели. Всё что у меня есть - телефон, указанный на их сайте kuhni-zov.ru. Пытаюсь позвонить и узанать что ответило их мифическое начальство, а они просто перестали подходить к телефону.

Что ж, в субботу поеду в магазин лично. Попрошу либо связать мне с начальством, либо получить от меня официальное письмо с требованием возместить стоимсоть так и недостваленной мне раковины.

среда, июня 29, 2011

Ещё одна домашняя бухгалтерия на Google Docs

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

Прежде всего всё что написано не мою - написано другим. Это очевидно. Но следствие из этого - это другой разрабатывал логику, исходя из собственных представлений об удобстве и функционале. А значит нет уверенности в том что чужие представления на 100% совпадут с моими. На хабре эта тема уже звучала, а вот именно тот пост, который подтолкнул меня к собственному "велосипеду".

Второй важный момент - если системой будут пользоваться двое (не говоря уже о большем количестве), то вероятность ошибок возрастает многократно. Многие системы подразумевали наличие счёта, отображающего количество денег в кошельке. Ах, как мне нравилась программа GnuCash... Но каждый месяц я должен был добавлять транзакции для корректировки счета по кошельку жены. И на что она тратила деньги оставалось только догадываться потому как сама она не могла вспомнить, а чеки благополучно терялись.

Исходя из вышеописанных проблем я породил ещё одну домашнюю бухгалтерию на Google Docs. Методом проб и ошибок, анализируя чужие решения и исходя из собственных потребностей я пришёл к следующим выводам.

Система должна быть максимально проста. Проста на столько что бы при объяснении как ею пользоваться мне не заявили - "не держи меня за дуру".

Акцент системы - сколько и на что потрачено. Мне не важно сколько сейчас денег у меня на карте, в кошельке или дома под подушкой (хотя знать это было очень удобно). Важно - сколько потрачено в магазине, на кредиты и так далее.

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

И последнее - структура платежей должна быть максимально простой. Для себя я определил что платёж имеет три параметра. Первое - направление (доход или расход). Второе - категория. Магазин, кредит, счета, развлечение и так далее. Всего получилось около восьми пунктов. И третье - подкатегория. Или лучше сказать - комментарий. Например, платёж на сумму 3 000 рублей может иметь следующие параметры: Расход, Магазин, Ашан. То есть третьим пунктом, в произвольной, но максимально короткой форме, описываю где были потрачены или от куда получены деньги.

Теперь от теории к практике.

В гугло-документах у меня создана коллекция - Бюджет. К ней относятся таблицы, куда заношу данные. Каждый файл таблицы имеет название - месяц за который ведутся данные. Что бы определиться с годом, к которому относится данный месяц - файлу прикрепляется коллекция, с годом. Выглядит это так:
image

Каждый файл содержит три вкладки. Основаная - Факт. Это и есть история всех трат и поступлений в указанном месяце. Например вот так:
Файл бюджета на месяц

Каждый месяц создаю новый файл. И перво наперво добавляю записи с направлением "Собственные средства". Не указывал выше наличие такого направления потому что он используется только один раз в начале месяца. Так я отмечаю сколько денег имеется в распоряжении на начало месяца.

Так же сразу же, для обязательных в этом месяце трат, добавляю строчки с отметкой что данные не подтверждены (для них столбец F содержит значение Нет). Например, если надо до 10-го июня заплатить за интернет, то добавляю строку с датой 10 июня, сумма - 500 р., направление - расход, категория - счета, комментарий - интернет и подтверждено - нет.

Дальше всё как обычно - траты или получение денег заношу в таблицу, а если была выполнена операция, которая уже была запланирована (оплатил таки интернет, например) то корректирую нужная строчка (меняю дату и сумму, если нужно, и меняем подтверждено на Да)

Но простое накопление данных не особо интересно. Как отмечал выше - мне важно знать на что и сколько потрачено. Раньше пытался сделать подобную аналитику, использую уникальные значения из колонки Категория, но с недавних пор Google предлагает инструмент для формирования сводной таблицы. Благодаря ему моя система учёта получила второе дыхание (так как собственный костыль аналитики существенно усложнял использование).

Сводная таблица находится на отдельном листе - Сводная таблица. Создаётся она очень просто:
Создание сводной таблицы

Но только что созданная таблица нуждается в доработке.

Во-первых через Edit range указываю диапазон данных - все столбцы с A по F.

Второе - для рядов указываю группировку по двум полям - Дата и Комментарий. Таким образом я получаю визуальное представление о том сколько и на что потрачено в тот или иной день. Группировке по дате указываю необходимость показа общей суммы. Это позволяет видеть внизу таблицы итоговые суммы.

Третье - группировка колонок. Тут группирую по Направлению и Категории. Направлению отмечаю Show totals. Данная отметка, на самом деле, не является необходимой, но с ней нужно выполнят на одно действие меньше если нужно посмотреть соотношение расходов и доходов. В противном случае пришлось бы выделять последнюю строчку таблицы и смотреть сумму.

Дальше - в Value указываю поле Сумма и операцию - SUM.

И последнее - фильтры. Тут два фильтра. Первый по Категории - все категории кроме Собственные средства. В принципе можно сделать его по Направлению - учитывать только направления Доход и Расход. Второй фильтр - Подтверждено. Интересуют только записи, которые действительно имели место быть. Если какая-то запись только запланирована, то в сводной таблице её не должно быть.

В конечном итоге моя сводная таблица принимает следующий вид:
Финальный вариант сводной таблицы

Но сейчас я отказываюсь от последнего фильтра - того что по колонке Подтверждено. Вместо этого значение данного столбца используется как самая первая группировка в разделе Columns. Благодаря этому сводная таблица делится на две части. Первая с проведёнными тратами и доходами, вторая - с запланированными. Таблица получается в два раза шире и по этому лучше использовать заморозку первых трёх рядов и первых двух колонок. Тогда при прокручивании таблицы всегда будет видна дата, подкатегория, а так же категория.

В этом случае таблица выглядит таким образом:
Второй вариант сводной таблицы

Самое интересное в сводной таблице - нижняя строчка. Благодаря группировкам и подсчёту сумм в ней выделяется две области - сумма доходов и сумма расходов. Причём сразу отображается сумма по катогориям.

После очередного переосмысления структуры бюджета я решил добавить третий лист - План. Над этим листом пришлось потрудиться и скорее всего текущий вариант будет ни один раз изменён. Данные на этот лист поступают из двух источников. Первый - колонка Катогория с листа Факт, второй - ручной ввод цифр.

Было бы очень неудобно каждый месяц руками забивать все категории. Можно что-то упустить или сделать орфографическую ошибку. Поэтому данные первой колонки заполняются автоматически благодаря следующей формуле в ячейке A2:
=UNIQUE(FILTER('Факт'!D:D;'Факт'!C:C="Расход"))
Функция UNIQUE берёт только уникальные значения из списка, который возвращает функция FILTER. Функция FILTER возвращает только те значения из колонки D листа Факт (Категория), Направление которых (колонка C) - Расход. То есть на данный момент я планируют только расходы причём сразу по всей Категории. Планирование 7 000 рублей на ЖКХ и 500 р. на оплату электричества мне кажется избыточным - проще сразу запланировать 7 500 рублей на оплату Счетов.

После того как Google Docs сформировал список запланированных категорий нужно подсчитать фактический расход по ним. Это делается тоже формулой:
=SUM(FILTER('Факт'!B:B;'Факт'!C:C="Расход";'Факт'!D:D=A2))
Знакомая функция FILTER ищет в колонке Сумма только те значения Направление которых - Расход, а Категория равна указанной на листе План. Передача результата этой функции в SUM даёт фактическую сумму по категории. Фильтрация по направлению очень важна так как, например, у меня есть категория "Накопления" как для направления "Расход" так и для "Собственные средства".

Дальше в колонку План вношу сумму, заложенную по категории на месяц. Причём число должно быть отрицательным.

Колонки Дельта считаются по очень простым формулам, но нуждаются в некотором пояснении.

Колонка D:
=B2-C2

Если значение в ней отрицательное, то это показывает сколько ещё можно потратить по данной категории. Положительное число указывает перерасход по категории. Грубо говоря, положительное число сообщает что столько денег нужно получить что бы ликвидировать дефицит бюджета.

Колонка E - процент от плана. Это колонка, по сути, малоинформативна и просто для тех кто любит проценты. Я использую такую формулу:
=(B2/C2)-1
-100% говорят о том что план полностью провален. То есть по Категории не было запланировано ничего, но траты были.

Получаю что-то на подобии вот этого:
Запланированные категории

На этом пока всё. Если есть желание использовать именно такой подход, то лист есть в шаблонах Google Docs - шаблон для использования.

Плюс моего подхода - он очень прост (как мне кажется). Всё что нужно - в начале месяца указать сколько денег имеется в наличии, а потом просто заносить траты. Причём. Указывание собственных средств, на самом деле, задел на будущее. То есть, по большому счёту, это можно и не указывать. Мне это нужно только для контроля того на что копятся деньги. Другими словами мне важно знать сколько уже отложено на учёбу, например.

Таблицу можно расшарить и дать доступ всем членам семьи. А так как деньги тратятся или получаются не в какой-то счёт, то им не нужно указывать что потрачено столько то из кошелька мамы. Это упрощает систему, а так же избавляет от головной боли когда по данным в кошельке должно быть сто рублей, а по факту их там 50.

Гуглотаблицы доступны, практически везде, а это мобильность. Находясь в отпуске можно зайти в документы и добавить соответствующую трату. Конечно, это роуминг, в самом плохом случае... Но как другая мера - на время отсутствия вносить данные непосредственно в телефон (или записывать в тетрадь), а потом перебить их в таблицу.

Ещё одна идея дальнейшего развития - подключить к таблице форму. Таким образом можно избавиться от лишнего траффика при добавлении данных. Правда есть небольшая сложность. При вносе данных непосредственно в таблицу можно, что называется, на лету создать новую категорию. При добавлении через форму категорию лучше представить в виде выпадающего списка. Правда это тоже решаемо. Например список категорий и поле ввода. Но тогда, видимо, понадобится ещё один лист, с "сырыми" данным, а затем выводить их на лист Факт, сложив категории из списка и поля ввода новой.

Если же вернуться к самому началу статьи, то виден самый большой минус системы - она решает конкретно мои задачи. Я не знаю и не могу знать какие требования к учёту финансов есть у Вас. Возможно Вам нужен лист с планированием бюджета. Или требуется более специфичная обработка данных. Поэтому, возможно, посмотрев на мои изыски Вы скажете - фу, какая гадость. Но лично мне изложенный подход подходит на все 100%. В нём только тот функционал, который мне нужен, но не ограничивает возможность расширения.

Собственно на этом всё. Спасибо.

вторник, мая 10, 2011

Девятое Мая 2011-го

Всё так и есть...
Сценка. Летит по дороге черный "Хаммер", у которого с двух сторон висят здоровенные наклейки "Спасибо деду за победу". Переход "зебра". По нему пытаются перейти пешеходы, которые наивно думают, что водители теперь их обязаны пропускать. А водители не такие наивные. (Лично я перед переходом при наличии пешеходов всегда останавливаюсь, причем делал это задолго до введения новых правил, но я-то просто наивный.) Среди пешеходов - дедушка-ветеран в кителе, обвешанном орденами и медалями. Видать с какой-то встречи идет.

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

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

О, как раз под окном проезжает здоровенный "Ленд Круизер" с огромной наклейкой на борту "На Берлин!". На Берлин он едет! Пивка попить, видать.


© Алекс Экслер

среда, декабря 15, 2010

Lord of Ultima

Приглашаю всех поиграть в новую браузерную игру Lord of Ultima.

Игра запущена всего пару дней назад, но количество участников стремительно увеличивается. Но всё ещё есть шанс успеть занять своё место под солнцем и стать "мега-папкой".

Игра напоминает Travian, но без заморочки относительно рас. Зато уйма возможностей для развития, исследования, артефакты, рэйдовые боссы, квесты...

Если есть желание примкнуть, то вот ссылка с моим рефералом или просто ссылка.

Понравится - с радостью примем в наш альянс Winter is Coming.