← All posts tagged жизнь

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

Два дня не было интернета и в семье начались скандалы. Починил интернет и в семье наступила идиллия и взаимопонимание. Даже малыш зависит от детских песенок с Youtube.

В свое время не мог найти работу. Отсеивали меня на этапе собеседования с HR. Никак не мог понять в чем дело... пока не женился. Жена у меня, начальник HR-отдела, "поднатаскала" меня на все HR-уловки (тесты там всякие) и чего делать не следует. Ее подруга, директор по персоналу, составила мне резюме. После этого все пошло на лад.

У меня всегда было подозрение, что HR — это особый мир со своими условностями, чуждыми инженерам.
habrahabr.ru

Мои старенькие Salomon Smart уже сносились (за 5 лет) и стал искать себе что-то подобное на замену (с отстегивающимся кроссовком). Не нашел… даже за 7к (как рассчитывал); Обиделся на всех продавцов брендовых роликов и купил себе китайские ролики в Декатлоне за 4к (Oxelo). Фиксируют ногу отлично, катятся замечательно (ABEC 7 или типа того). Советую!

Купил батарейки Duracell Turbo, а на упаковке надпись: часть средств пойдет на покупку оборудования для лечения сердечных заболеваний детей, занимающихся спортом.

Вот вам и оздоровительная гимнастика... Еще И.И. Куринной писал, что профессиональный спорт калечит, но чтобы детей...

На сайте, кстати, формулировку уже поменяли на более обтекаемую: "на лечение детей, которые вынуждены были отказаться от спорта из-за заболеваний сердца" (с) duracell.ru

В продолжение сериала #1829257 #1830644

Зашел в магазинчик по крупнее: с несколькими кассами и охранником, который сторожит алкоголь от бомжей. Приценился к сухофруктам и обнаружил, что никакого экономического эффекта от смены чая|кофе на сухофрукты — нет. Цена в пересчете на одну заварку одна и та же... с тем исключением, что пакетик чая после заварки никто есть не будет.

Кстати, по калорийности сухофрукты в разы превосходят чай|кофе: eda-server.ru и eda-server.ru (в чае, как и в кофе почти нет калорий).

В продолжение темы #1829257...

Решил оценить экономическую целесообразность употребления сухофруктов взамен (чая|кофе). Зашел в ближайшие к метро палатки "Продукты" и не обнаружил там ничего подобного. Все "таджики"-продавцы понимали о чем я говорю, но сочувственно мотали головой. Теперь мне предстоит задача попроще: найти места распространения сухофруктов.

Отказался от употребления кофе и чая (черного|зеленого) на рабочем месте. Раньше выпивал их литрами. Теперь на смену (чаю|кофе) пришел компот из сухофруктов.

Горячей водой из кулера (~98 градусов Цельсия) заливаются сухофрукты (3..5 кусочков) и настаиваются минут 5..10. Концентрация пригодная для питья определяется опытным путем. По моим ощущениям, это когда температура "компота" успевает опуститься до 40..50 градусов Цельсия (пар перестает идти). После 2..4 циклов использования размякшие фрукты можно съесть.

Естественным продолжением идеи является использование термоса (емкость 1 литр, с широким горлом).

Экономическую целесообразность замены (кофе|чая) на компот из сухофруктов оценить пока не могу, так как (чай|кофе|сухофрукты) — халявные (закупаются компанией).

День 22. Писал миграцию для того, чтобы пересоздать привязки (источники информации вынесли в отдельную таблицу, которая позволяет связывать любые объекты/атрибуты). Этих привязок надо было создать тысяч 40. Оказывается, что rake db:migrate упаковывает все 40к запросов в одну транзакцию. Ждал час, а потом забил и пошел домой. Завтра узнаю как миграция применилась =)

День 21. Рефакторинг. Мы сделали фильтр, который применяется сразу же после выбора значения. Клиенту понадобилось использовать фильтр совместно с запросом по ключевым словам. Немного доработал скоупы, теперь проверка существования параметра убрана внутрь скоупа. Это позволяет вызвать сразу цепочку скоупов в контролере без всяких прерывающих проверок. Также пришлось удалять множество javascript-кода (который отвечал за переход). Жутко нудное задание!!!

День 20. Сделал модель для того, чтобы прикреплять любые файлы к любому объекту любой модели (через polymorphic). На это раз обошелся без jQuery File Upload. И сделал все через простенькую форму и redirect_to. Метод filename в Uploader переопределяет имя файла после загрузки (но model.id внутри него работает только на сохранение). Сделал так, чтобы создавалась директория с уникальным именем (и была возможность добавлять несколько файлов с одним и тем же именем). Чтобы не заморачиваться, написал примерно следующее для уникальной директории: Time.now.to_i.to_s(36).

День 19. Нас задолбал Unicorn и мы решили от него уйти... на Passenger. Поставили Passenger как standalone. Работает быстро и качественно отдает как потоки, так и статику. Одна лишь проблема — rvm. Как запустить Passenger автоматом и при этом в нужном окружении rvm?

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

День 17. Стали собирать проект в виртуальной машине. Проверили и обнаружили, что не работает выгрузка в XML и заливка файлов на сервер. Выгрузка перестала работать из-за маленькой ошибки в шаблоне (надо было заменить } на end), а с заливкой было все гораздо интереснее. Оказывается, что при указании multiple => true изменяется поведение file_field. Поле передается уже не как один файл, а массив файлов (хоть и с одним файлом внутри, из-за jQuery File Upload). Пока разобрался в чем дело, чуть не поседел.

День №14. Сделал txt версию для выдачи описей. Добавил несколько state_machine и их обработку (выбор состояний из списка select). Столкнулся с забавной проблемой хелпера select_date: чтобы присвоить ему css-класс нужно обязательно задать хеш параметров. То есть select_date(Time.now, {}, {:class => "date"}).

День №13 прошел в различных мелких доделках-переделках. Сгруппировал все поисковые формы на одну вьюшку и разграничил их табами. Если кто попытается повторить этот подвиг — не советую. Вам скорее всего придется переделывать все id у всех элементов формы (чтобы работали label и autocomplete). Немного повозился с версией для печати. Исправил менеджер фотографий, чтобы можно было выбирать несколько фоток за раз (параметр multiple).

День №12. В виду того, что стандартный render(:xml => @object) не умеет выдавать информацию потоком (то есть отсылать её по мере формирования), то пришлось делать свой костыль (см. codepad.org Сервак все равно подвисал на выдаче больших объемов и шаблон пришлось переделать: убрать вложенность find_each и делать привязку объектов как в базе — по id.

День №10. Форму ввода ФИО изменил с одного input на 3, но зато с autocomplete. Отдельно для Фамилии, Имени и Отчества создал модели, контроллеры и маршруты (routes). Они работают как справочники для autocomplete. При добавлении в базу нового ФИО пополняются и справочники. Можно было бы хранить только id, но слишком уж опасно такое делать. Пусть будет избыточность.

День №9. Сделал скачивание фоток в виде архива. Нужно было убрать пути и заменить имя файла. В виде потока удалось такое сделать только при помощи tar (ключ --transform) и send_data. Через rubyzip (и send_file) сделал только через временный файл (что не совсем хорошо). Смотрел ключики стандартного zip и смог только обрезать пути (-j). Кто знает как переименовать файлы во время добавления в архив?

День №8. Сегодня убедился в том, что записывать свои действия на работе очень даже необходимо. Перестал работать метод поиска, который я делал через pg_search_scope (см #1659885). Полез в Жуйк и почитал о том, что и когда делал. Оказалось, что идея делать его методом класса модели была неверной, а возврат self из этого метода приводил к тому, что всегда выводилось все содержимое таблицы. Переписал в виде scope, где в случае пустого запроса возвращал nil. Все заработало.

Боролся с jQuery-File-Upload, а точнее с Carrierwave, который не вносил имя файла в поле записи до тех пор, пока не вызвался метод save. Проверки уникальности этого поля не работали (пустое поле было уникально). Пришлось делать before_validate и принудительно писать имя файла в атрибут. Еще мне пришлось снять с атрибута модели Carrierwave (примонтировал с именем отличным от атрибута модели) при помощи опции :mount_on => :model_feild.