Pull to refresh
167
0
GreyCat @GreyCat

Пользователь

Send message

Вливание legacy-истории в дерево: нахождение оптимальной точки ответвления

Reading time 3 min
Views 4.1K
По долгу службы мне досталась в наследство некая система, имеющая ~15 лет истории и порядка нескольких десятков инсталляций в разных организациях. Сама по себе системы относительно небольшая (~25K строчек кода, ~1K коммитов), но проблема была в release management:

  • было основное дерево в subversion (изначально в cvs, разумеется), где проводился «основной курс партии» — делались какие-то масштабные изменения, добавлялись новые возможности, исправлялись глобальные ошибки и т.п.
  • конкретные инсталляции делались путем:
    • в лучшем случае — svn checkout, который потом обновлялся через svn update; почти во всех инсталляциях делались локальные доработки «на живую» (как минимум — правились конфигурационные файлы) и эти изменения никуда не коммитились; если при очередном svn update изменения в upstream создавали конфликт — конфликт ресолвился «на месте» тем программистом, который делал update, опять же, без какого-либо трекинга изменений
    • в худшем случае — svn export, который потом, понятно, не обновлялся совсем, оставаясь раз и навсегда (или по крайней мере пока начальство не одумается) на уровне развития даты экспорта; в особо запущенных случаях (из конца 1990-х — начала 2000-х) так делали еще и потому, что просто не было физической возможности сделать checkout — в организации не было доступа в интернет, архив просто приносили на дискетке и разворачивали единожды на месте

На практике, разумеется, благодарные заказчики этой системы время от времени хотят все-таки получать поддержку, исправления багов и даже иногда какие-то глобальные доработки в ядре системы.

Знакомо?
Total votes 15: ↑15 and ↓0 +15
Comments 1

Закрыт «последний в мире» проводной телеграф

Reading time 2 min
Views 30K
Как сообщают нам с большим пафосом The Times of India, на выходных произошел еще один конец эпохи — последняя в мире сеть проводного телеграфа закончила свою работу в воскресенье, 14 июля 2013.

До сих пор эта сеть, поддерживаемая местной государственной индийской телекоммуникационной компанией BSNL на Гоа, предоставляла сервис тысячам индийцев, доставляя около 5000 телеграмм ежедневно. Сервис был сильно убыточным и обходился в последнее время BSNL в 23 миллиона долларов в год. С вечера воскресенья у офисов обслуживания BSNL — тысячи недовольных, внезапно обнаруживших, что их любимое средство общения более недоступно.

А теперь — если по хорошему — поясню, почему практически каждый термин в этой новости нужно взять в кавычки.
Читать дальше →
Total votes 41: ↑37 and ↓4 +33
Comments 25

Wasted Dreams — еще немного истории одной забытой игры

Reading time 12 min
Views 28K
Несколько недель назад, на Хабре освещалась одна очень хорошая, но незаслуженно забытая игра — Wasted Dreams. Тем, кто не знаком с ней, настойчиво рекомендую прочитать сначала ее обзор и описание начала этих исторических раскопок, а затем попробовать настроить эмулятор и самому в нее поиграть. Если вы неравнодушны к играм начала-середины 1990-х, цените красивую пиксельную графику и стиль таких игр, как Another World и Flashback — то есть вероятность, что и Wasted Dreams вам понравится.

В наших исторических изысканиях мы остановились на том, что выяснили, что WD разрабатывали всего два человека — программист Томас Цвиянович (Thomas Cvijanovic) и художник Реймонд Циндрич (Raymond Cindric). Weilard удалось найти Реймонда и сделать с ним короткое интервью, а я постарался восполнить пробел — найти второго героя этой истории и провести интервью с программистом этой замечательной команды.

Разговор получился несколько больше, чем планировался. Мы поговорили о прошлом, о настоящем и будущем. Выяснили (спойлер!), что отныне Wasted Dreams можно распространять свободно и без ограничений. Восстановили часть кусочков, пропущенных в этой истории. Итак, если есть желание — предлагаю…

Окунуться в события 15-летней давности
Total votes 89: ↑88 and ↓1 +87
Comments 26

Переезд временной зоны MSD в MSK — новый Y2K локального масштаба

Reading time 8 min
Views 25K
Все, наверное, хоть раз слышали, что в России с 2011 года отменен переход с летнего время на зимнее. Чем же это грозит каждому из нас — и администраторам большого количества серверов в сложных системах, и обычным пользователям, имеющим один компьютер и мобильный телефон? Что случится в ночь с 29 на 30 октября 2011 — до которой осталось, кстати, всего 2 недели?

Новый Федеральный закон Российской Федерации от 3 июня 2011 г. N 107-ФЗ «Об исчислении времени»:
  • принят Государственной Думой 2011-05-20
  • одобрен Советом Федерации 2011-05-25
  • опубликован 2011-06-06
  • подписан президентом 2011-06-09
  • вступил в силу с 2011-08-07
Чем же грозят нам эти изменения и что от этого может сломаться?
Читать дальше →
Total votes 147: ↑144 and ↓3 +141
Comments 193

Как убрать все управляющие символы из строки — история одной бурной оптимизации

Reading time 8 min
Views 55K
Получилось так, что мне довелось оптимизировать код кластерной задачи, которая входила в состав Большого Кластерного Алгоритма и занималась весьма простой вещью: входной поток из n полей нужно было в зависимости от содержимого полей переразложить в выходной поток из m полей и почти успокоиться. Почти — потому что внутри полей были строчки произвольного вида, которые нужно было «очистить» — провести простейшую, казалось бы, операцию удаления всех управляющих символов из строки.

Оказалось, что эта операция совсем не такая «простейшая», как кажется, особенно если рассматривать её в современных языках с виртуальной машиной. Чуть ниже я покажу, как можно заменить решение в одну строчку на решение в пару десятков строчек, увеличив производительность алгоритма в ~10 раз. Сразу оговорюсь, что примеры будут относится к Java, но аналогичные рассуждения будут справедливы и для большинства других языков и виртуальных машин — в первую очередь, для .NET-based.
Читать дальше →
Total votes 105: ↑103 and ↓2 +101
Comments 81

Мониторинг балансов сотовых телефонов, провайдеров — или как никогда больше не забывать вовремя заплатить за телефон и интернет

Reading time 4 min
Views 20K

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

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

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

Если интересно, как можно обуздать такую стихию - добро пожаловать под кат
Total votes 61: ↑59 and ↓2 +57
Comments 54

Ряды open source игр пополнились еще 4 классными экземплярами

Reading time 4 min
Views 5.3K

Эпический по размахам марш, инициированный компанией Wolfire — акция по продаже 6 популярных инди-игр «купи за сколько хочешь» — The Humble Indie Bundle — World of Goo, Aquaria, Gish, Lugaru, Penumbra и Samorost 2 — закончился около 2 часов назад и возымел такую концовку, о которой многие мечтали уже несколько лет, но в такое всерьёз никто не верил.

За неделю работы удалось собрать больше миллиона долларов США — и 2 часа назад, в знак признательности поддержавшему их сообществу, группа разработчиков Wolfire, Bit Blot, Cryptic Sea и Frictional Games объявила о том, что отныне четыре игры из шести — Aquaria, Gish, Lugaru и Penumbra — будут выпущены в свет в исходниках под open source лицензией.

Исходники Lugaru HD уже выложены, остальные 3 игры должны последовать примеру в течении нескольких дней. Lugaru выложен в виде Mercurial-репозитария на Icculus.org — код собирается с помощью обычных Makefile'ов (и gcc), как проект XCode и как проект Microsoft Visual Studio. Лицензия — GPL v2.

Читать дальше →
Total votes 104: ↑97 and ↓7 +90
Comments 35

Wolfire устраивает распродажу игр «за сколько хочешь»

Reading time 2 min
Views 1.3K
Следуя модному в последнее время тренду устаривать распродажи «купи за сколько хочешь — цену называете сами» (см. 2D Boy с World of Goo, Petri Purho с Crayon Physics Deluxe и т.п.) и предлагает в течение ограниченного времени приобрести комплект из 5 6 инди-игр «The Humble Indie Bundle», куда войдут:
Читать дальше →
Total votes 74: ↑69 and ↓5 +64
Comments 117

США: криптография — охота на ведьм началась?

Reading time 4 min
Views 4.5K

Как уже, наверное, известно всему уважаемому хабрасообществу, с некоторых пор администрация нынешнего президента США Барака Обамы взяла курс на закручивание гаек в сфере взаимодействий с неугодными правительству США странами: Куба, Иран, Сирия, Ливия, Судан и Северная Корея (иногда в этот список включают еще Ирак). Занимается этой задачей выпало незабавенному U.S. Department of Commerce, Bureau of Industry and Security — огранизации, как это известно по её прошлым деяниями, достаточно бюрократической и воспринимающей все приказы довольно прямолинейно.

События развивались стремительно: в середине января 2010 года вылилось это в то, что крупнейшие хостинги открытых проектов — такие, как SourceForge и Google Code получили «письма счастья» с настойчивыми рекомендациями прекратить доступ к программным проектам с открытыми исходниками, так как они могут содержать [цитирую]certain technology[/цитирую], которые запрещены к экспорту из США. Под этими «некоторыми технологиями» понимается криптография, причём на этот раз — вся.

SourceForge и Google Code подчинились, извинившись перед своими пользователями, но разведя руками — в конце концов — они обычные американские компании, мол, нам очень жалко, но we also live in the real world и вынуждены подчиняться законам.

Вчера, 7 февраля 2010 года, юристы SourceForge после пары недель баталий, выработали таки компромиссное решение, которое, безусловно, лучше, чем то, что было, но…
Что же придумали в SourceForge?
Total votes 127: ↑121 and ↓6 +115
Comments 198

Information

Rating
Does not participate
Registered
Activity