Бабушка, смотри, я сделал двач! Войти !bnw Сегодня Клубы
Привет, TbI — HRWKA! 1243.1 пользователей не могут ошибаться!
?6954
прекрасное6445
говно5909
говнорашка5512
хуита4722
anime3067
linux2656
music2637
bnw2606
рашка2570
log2364
ололо2202
дунч1849
pic1816
сталирасты1491
украина1439
быдло1438
bnw_ppl1428
дыбр1238
гімно1158

[12:12:53] <Пиздос> чет нам всем в отделе раздали свеженькие книжки, а читать лень [12:13:22] <Пиздос> A Practioner's Guide to Software Test Design выглядит интересно [12:13:25] <Пиздос> но потом [12:13:28] <Пиздос> после обеда мб [12:13:49] <rkfg> A Practioner's Guide to Procrastination [12:13:57] <rkfg> Выглядит интересно, но читать лень [12:14:01] <rkfg> Потом почитаешь
#JTGPUH (0) / @dulo_t-34 / 3620 дней назад
it
Конкурс на самую смешную IT-related подпись к этой картинке: http://dump.bitcheese.net/images/eviseti/lev.gif
#1Y67OQ (12) / @gds / 3662 дня назад
it
Вопрос по гиту. Вот есть рефы. refs/heads/.., refs/remotes/../.. . Они заставляют гит не собирать мусорщиком коммиты, на которые они указывают, ну и дальше по графу. А могу ли я сделать (пусть и через низкоуровневые команды) какой-нибудь реф вида refs/mycommit, указывающий на нужный коммит, так, чтобы 1. ничего не наебнулось (все команды продолжали работать как раньше), 2. нужный коммит не был собран мусорщиком? Мне нужна не ветка, а именно реф, невидимый в `git branch -a`, недоступный для нормальной работы с ним, но предотвращающий потерю нужного коммита. (подразумеваю, что мне понадобится `git for-each-ref` для его поиска и что-то типа `git show` для его чтения, но это норм.) Нагуглить не смог, хотя и пытался, потому спрашиваю. И, пожалуйста, не надо про рефлог.
#0XCYPL (15+1) / @gds / 3714 дней назад
it
Вопрос к гитолюбам. Допустим, мы с Иваном Ильичём работаем на дизеле, а остальные коллеги что-то делают на мастере. Я локально ребейзю дизель поверх мастера, долго ебусь с конфликтами при этом. Иван Ильич, ничего не подозревая, доделывает свой кусок работы, пушит в дизель свои коммиты, затем уходит в запой на две недели. И тут я кончил ребейз, и что мне надо сделать, чтобы опубликовать новый вариант ветки "дизель"? git push origin diesel --force. Собственно вопрос: где окажутся коммиты Ивана Ильича после моих действий?
#6S9GIB (40+3) / @gds / 3722 дня назад
MLSSH (реализация ssh клиента и сервера) на окамле: http://dmzlj.livejournal.com/185158.html (с использованием пары dsl, насколько я понял). Что удивительно -- никаких упоминаний по существу гуглом не ищется, и всего ~ 2k упоминаний этого слова. Ещё удивительнее -- "Возможно, вы имели в виду: VK". Включаем паранойю!
#L211RU (13) / @gds / 3732 дня назад
А объясните мне, почему тупой трекер контента при клонировании репки клонирует только master branch? Какая там философия? Или, как обычно, никакой, ведь репка это всего лишь граф из рефов и блобов? (в кои-то веки понадобилось иметь именно гит-репку, причём не из-за того, что hg-git не работает или криво работает.) // не надо мне рассказывать, как склонировать в этом уёбище какие-то другие ветки: я умею пользоваться поисковиками для добычи знаний такого рода, но на вопрос "почему именно так?" они мне не ответили.
#ZFS5F6 (10) / @gds / 3768 дней назад
Я видел разные способы хранить интервалы дат в реляционках. Не, понятно, там два столбца, типа dt_start + dt_end, но кое-какие моменты не доходят до людей вообще. Попробую исправить. - null как дата начала/окончания -- неудобно. Правильное решение: фиксированные даты типа 01.01.0001 и 31.12.9999 и функции/вьюхи для получения видимой пользователем даты (если такая будет). Это только выглядит криво, а на самом деле спасает от тонн ошибок, связанных с нуллами. - главное: дата начала -- включительно, дата окончания -- исключительно. То есть, если есть дата начала 2014-12-07 00:00:00 и дата окончания 2014-12-08 00:00:00, в этот интервал попадают все даты 2014-12-07 XX:XX:XX, но не попадают 2014-12-08 00:00:00 и больше неё. С такими раскладами не получится сделать where mydate between dt_start and dt_end (если бы обе даты были "включительно"), но это абсолютно похуй, так как профит перевешивает: 1. условия не зависят от типов и форматов дат: в случае преобразования даты+времени в дату (если часы были 00:00:00) либо преобразования даты в дату+время (когда добавляют часы 00:00:00 к дате без часов) код продолжает работать как и раньше (а такие преобразования не всегда видны в коде невооружённым глазом, неявные преобразования типов таки случаются). 2. нет привязки к тому, какой "квант времени" подразумевался. Если бы интервал из примера выше был записан "концы включительно, квант = сутки", было бы "2014-12-07 .. 2014-12-07". Если бы надо было разбивать на часы, интервал внезапно преобразился бы в "2014-12-07 00:00:00 .. 2014-12-07 23:00:00". 3. часто надо рассмотреть "какие интервалы попадают на данную дату-время". В случае "квант = сутки" имеем where trunc(dt, 'DD') between dt_start and dt_end, заметьте функцию для обрезания даты и явное указание, докуда обрезать. А функции, как известно, не очень хорошо сотрудничают с оптимизатором запросов. - следствие обоих пунктов: валидация становится не сложнее, чем check (dt_start < dt_end) (для непустых интервалов) или check (dt_start <= dt_end) (для возможно пустых интервалов). - для извращенцев: with recursive либо connect by по условию prev.dt_end = next.dt_start
#F3O4YT (1+2) / @gds / 3770 дней назад

Откуда пошла ебанистическая мода выдумывать мифозные названия для тех вещей, которым имена вот уже как газиллион лет назад были даны? Клиент у salt, например, не клиент, а МИНИОН; скрипт или конфиг в chef - это не скрипт или конфиг, а КУКБУК; пакеты в ржавом - это не пакеты, а ЯЩИКИ. Не, ну я ещё могу понять, если люди оскорбляются и заменяют master/slave на leader/follower, но без причины-то зачем людям мозги пудрить?

#1Y6MR2 (13+2) / @like-all / 3773 дня назад
https://wiki.postgresql.org/wiki/What%27s_new_in_PostgreSQL_9.4 -- постгрес хорошо движется вперёд, мне нравится.
#4I1494 (10+1) / @gds / 3780 дней назад
"full stack web developer" -- эвфемизм для "биэндер".
#AH0GBB (9) / @gds / 3821 день назад
Хоть вы меня за яйца подвесьте, но в сетевых протоколах² самое сложное -- грамотное завершение соединения, а в хранилищах данных -- грамотное восстановление после падения¹. Остальное -- выполнение собственно задач протокола/хранилища и обеспечение корректности завершения/восстановления -- поровну. ¹ -- интересно, есть ли глубокое философское объяснение подобной "дуальности" (завершение соединения vs начало работы с хранилищем). ² -- кроме udp.
#UOUZAY (10) / @gds / 3824 дня назад
#IX6G62 (0+1) / @gds / 3841 день назад
3-way merge понадобился, стало лень .rej руками разгребать. Погуглил, первый попавшийся kdiff3 поставил. И он как-то криво мержит своей автоматикой -- там, где считает, что прав, переставляет куски кода, каменты куда-то в жопу лепит; в общем, сосёт. Вручную, на конфликтах, результат корректный, только гуй кривоватый (курсор иногда не там рисуется относительно места вставки печатаемых символов). Поэтому интересно, кто чем делает 3-way merge? Если не влом, манул какой-нибудь подкиньте, но и названия тоже ок. Или, если я заведомо криво настроил kdiff3, подскажите, что ему дёрнуть, чтобы он лучше лишний раз спросил меня, вместо того, чтобы хуйню выдавать как результат слияния.
#0PI4VV (14+1) / @gds / 3847 дней назад

Вау, Будущее десктопа! http://www.youtube.com/watch?v=pW5iKF3eQ6Y // будущего нет

#B7OCGA (10) / @goren / 3901 день назад

Таки дошли руки до симуляции перегрызенного кабеля (спрашивал в #TP2TNF).
Хорошо иногда бывает параметризовать код IO-манаткой. Получилось так: https://gist.github.com/gdsfh/c0aa2733a6d09b49f894 . Работает замечательно. Благодаря fail_seed можно получать детерминированные фейлы, что помогает при отладке.
А отладка заключалась в том, что Lwt.join как-то странно себя ведёт. В документации сказано "падает, если какой-то из тредов падает", тогда как в реальном случае висит: http://pastebin.com/scLnbQ2A . Вотзефак?

#1R315B (1) / @gds / 3902 дня назад

Ебусь со всякой системщиной. Явно чего-то не хватает в императивном описании алгоритмов. Например:
1. указываем, что кое-какой процесс должен быть запущен на всех живых хостах из данного множества. Если хост из множества был дохлым, но потом ожил, то надо запустить процесс на нём тоже, когда он ожил.
2. спрашиваем что-то у процессов и ждём ответа, но, если хост умер (по независимым от нас причинам), и мы это знаем, то не надо ждать ответа. (таймауты тут сработали бы надёжно, но и без них часто ясно, что ответа не будет.)
Нужна какая-то декларативная шняга, что ли? Давайте идеи.

#HX0TN5 (9) / @gds / 3907 дней назад
--
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

Цоперайт © 2010-2016 @stiletto.