Имбирь - твой спиритический овощ. Войти !bnw Сегодня Клубы
УНЯНЯ. У нас есть немножечко инфы об этом пользователе. Мы знаем, что он понаписал, порекомендовал и даже и то и другое сразу. А ещё у нас есть RSS.
Теги: Клубы:

it
Конкурс на самую смешную IT-related подпись к этой картинке: http://dump.bitcheese.net/images/eviseti/lev.gif
#1Y67OQ (12) / @gds / 3531 день назад
it
Вопрос по гиту. Вот есть рефы. refs/heads/.., refs/remotes/../.. . Они заставляют гит не собирать мусорщиком коммиты, на которые они указывают, ну и дальше по графу. А могу ли я сделать (пусть и через низкоуровневые команды) какой-нибудь реф вида refs/mycommit, указывающий на нужный коммит, так, чтобы 1. ничего не наебнулось (все команды продолжали работать как раньше), 2. нужный коммит не был собран мусорщиком? Мне нужна не ветка, а именно реф, невидимый в `git branch -a`, недоступный для нормальной работы с ним, но предотвращающий потерю нужного коммита. (подразумеваю, что мне понадобится `git for-each-ref` для его поиска и что-то типа `git show` для его чтения, но это норм.) Нагуглить не смог, хотя и пытался, потому спрашиваю. И, пожалуйста, не надо про рефлог.
#0XCYPL (15+1) / @gds / 3583 дня назад
it
Вопрос к гитолюбам. Допустим, мы с Иваном Ильичём работаем на дизеле, а остальные коллеги что-то делают на мастере. Я локально ребейзю дизель поверх мастера, долго ебусь с конфликтами при этом. Иван Ильич, ничего не подозревая, доделывает свой кусок работы, пушит в дизель свои коммиты, затем уходит в запой на две недели. И тут я кончил ребейз, и что мне надо сделать, чтобы опубликовать новый вариант ветки "дизель"? git push origin diesel --force. Собственно вопрос: где окажутся коммиты Ивана Ильича после моих действий?
#6S9GIB (40+3) / @gds / 3591 день назад
MLSSH (реализация ssh клиента и сервера) на окамле: http://dmzlj.livejournal.com/185158.html (с использованием пары dsl, насколько я понял). Что удивительно -- никаких упоминаний по существу гуглом не ищется, и всего ~ 2k упоминаний этого слова. Ещё удивительнее -- "Возможно, вы имели в виду: VK". Включаем паранойю!
#L211RU (13) / @gds / 3601 день назад
А объясните мне, почему тупой трекер контента при клонировании репки клонирует только master branch? Какая там философия? Или, как обычно, никакой, ведь репка это всего лишь граф из рефов и блобов? (в кои-то веки понадобилось иметь именно гит-репку, причём не из-за того, что hg-git не работает или криво работает.) // не надо мне рассказывать, как склонировать в этом уёбище какие-то другие ветки: я умею пользоваться поисковиками для добычи знаний такого рода, но на вопрос "почему именно так?" они мне не ответили.
#ZFS5F6 (10) / @gds / 3637 дней назад
Я видел разные способы хранить интервалы дат в реляционках. Не, понятно, там два столбца, типа 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 / 3639 дней назад
https://wiki.postgresql.org/wiki/What%27s_new_in_PostgreSQL_9.4 -- постгрес хорошо движется вперёд, мне нравится.
#4I1494 (10+1) / @gds / 3649 дней назад
"full stack web developer" -- эвфемизм для "биэндер".
#AH0GBB (9) / @gds / 3689 дней назад
Хоть вы меня за яйца подвесьте, но в сетевых протоколах² самое сложное -- грамотное завершение соединения, а в хранилищах данных -- грамотное восстановление после падения¹. Остальное -- выполнение собственно задач протокола/хранилища и обеспечение корректности завершения/восстановления -- поровну. ¹ -- интересно, есть ли глубокое философское объяснение подобной "дуальности" (завершение соединения vs начало работы с хранилищем). ² -- кроме udp.
#UOUZAY (10) / @gds / 3693 дня назад
#IX6G62 (0+1) / @gds / 3710 дней назад
3-way merge понадобился, стало лень .rej руками разгребать. Погуглил, первый попавшийся kdiff3 поставил. И он как-то криво мержит своей автоматикой -- там, где считает, что прав, переставляет куски кода, каменты куда-то в жопу лепит; в общем, сосёт. Вручную, на конфликтах, результат корректный, только гуй кривоватый (курсор иногда не там рисуется относительно места вставки печатаемых символов). Поэтому интересно, кто чем делает 3-way merge? Если не влом, манул какой-нибудь подкиньте, но и названия тоже ок. Или, если я заведомо криво настроил kdiff3, подскажите, что ему дёрнуть, чтобы он лучше лишний раз спросил меня, вместо того, чтобы хуйню выдавать как результат слияния.
#0PI4VV (14+1) / @gds / 3716 дней назад

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

#1R315B (1) / @gds / 3771 день назад

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

#HX0TN5 (9) / @gds / 3776 дней назад

Я не понимаю, зачем нужен tcp/ip.

#RQVCNY (101) / @gds / 3778 дней назад

"То, что пессимисты называют "full table scan", оптимисты называют "Map-Reduce"" [lj\jakobz]

#WMBBEX (1+4) / @gds / 3789 дней назад

Подскажите пазязя, чем симулировать перегрызенный кабель в контексте tcp/ip-соединений? Просто потерю пакетов поставить через какой-нибудь "tc qdisc add dev lo root netem loss 70%" -- не вариант, соединение всё равно выживает, tcp же. Мне, по идее, нужно что-то такое: с определённого момента все send() в сокет проходят успешно, но ничего не отправляют (опционально, соединение отмирает по таймауту). Есть чо? Или мне не это нужно?

#TP2TNF (13) / @gds / 3793 дня назад
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

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