Что можно найти в этом журнале:
- Баечки из жизни IT-специалистов
- Рассказы о мобильной связи. Мне можно задавать вопросы о мобильной связи, и я постараюсь на них ответить.
- Зарисовки о жизни в Англии
- Конкурсы-загадки для IT-шников и не только
- Рассказы об участии в конкурсах ICFPC
Если вы хотите прочесть пару записей разных стилей и жанров "на пробу", то можете попробовать: отчет про ICFPC-2006, первоапрельскую шутку про тотальное прослушивание компьютеров через излучение от витой пары и про телепузиков. Подзамочных записей практически не делаю - смело подписывайтесь внешними RSS-агрегаторами. Если вы хотите читать не все мои посты, а только их часть - можете подписаться на feed, содержащий только посты с тэгом GSM или на feed, содержащий только истории. Механизм friend-ов в LJ я рассматриваю исключительно как техническое средство удобно читать журналы тех, кого мне интересно читать.
| Недавно один мой коллега Н принес на работу головоломку Bedlam cube. А другой мой коллега Д заинтересовался и стал его складывать. Головоломка, надо сказать, действительно непростая, и Д мучался с ней больше недели. В конце-концов у него получился аккуратный кубик с небольшой дыркой, и еще одна деталь, которую надо было когда-то раньше засунуть внутрь, а теперь уже даже и непонятно, что с ней делать. ( Read more...Collapse ) | |
|
| Обращаюсь за помощью к коллективному разуму. Есть у меня NAS с RAID-ом. На нем - ~400 Gb Ценных Данных. Хочется их на куда-то сбекапить off-site, на случай непредвиденных обстоятельств - если вдруг RAID накроется целиком и сразу весь. Хочется, чтобы: 1)Лить бэкап можно было прямо с NAS-а (а там - linux и ARM), то если либо по rsync, либо по ftp/ssl или sft, либо еще что-то подобное, и уж точно не какой-то GUI-клиент. 2)Все, что я лью туда, должно быть зашифровано (допустим, каким-то симметричным алогоритмом с большим ключом). 3)Версионированиие и прочие модные штуки (доступ с мобилки, шаринг файлов, фото-альбомы(!)) - не нужны. 4)Супер-пупер надежность с 29-ю девятками после запятой - тоже не нужна. Мне нужна разумная страховка на случай, если с моей стороны случится что-то маловероятное, а не основное средство для бэкапа. Для меня будет достаточно, если они скажут "извини, тут с вот этим файлом беда вышла - надо перезалить". 5)Инкрементальные бэкапы - обязательны Вроде ж не много хочу, да? ( И вот что выяснилось ...Collapse ) | |
|
| Вот они, родимые. Мы - на позорном 131 месте. Где-то за 20 минут до финиша, когда мои товарищи по команде вырубались после бессонной ночи, возник вопрос - какой же солвер сдавать в качестве финального? У нас их было два - один реализовывал А* поверх А*, как описано вот тут, не умел бэктрекинга, шел только вперед и выводил части программы по мере достижения очередной лямбды. Второй солвер запускал два треда, и в одном крутил первый солвер, подсчитывая набранные очки после каждого выданного куска программы и запоминая лучший полученный результаты. Во втором треде крутился тупой-тупой А* над игровыми состояниями, целевой функцией которого было найти программу с оценкой лучше текущей имеющейся, а эвристикой - сумма расстояний до лямбд. На мелких картах второй тред успевал перебрать все (или почти все) и выбраться из практически любой ловушки. На больших же картах он рисковал со временем пожрать всю память и быть убитым OutOfMemory Killer-ом (который живет в ядре linux). Если бы это произошло, то мы бы на такой карте не набрали ничего. Осознание этой засады пришло слишком поздно, и сделать какой-то монитор/ограничитель мы уже не успевали. Забоявшись out of memory, я убедил полусонных Женю и Ваню, что сдавать надо первый вариант. В результате мы вылетели в первом раунде. Второй вариант набрал бы как минимум 7200 очков (я запускал его на оценочных картах с лимитом в 30 секунд, а за 150, думаю, он мог бы набрать и больше) и мы были бы где-то в районе 50-60 месте. Ну, как известно, если бы да кабы ... :) Мораль придумайте сами. Посмотрим, что будет в следующем году. | |
|
| Обязательное вступление: что это вообще такое?Каждый год случается международная конференция ICFP - International Conference on Functional Programming. К этой конференции приурочен програмерский конкурс под названием ICFPC. Несмотря на название конференции, участвовать в контесте может любой желающий, и пользоваться можно любыми языками, не только функциональными, кроме того - участники могут объединяться в команды. ICFPC отличается от соревнований типа ACM и topcoder тем, что он менее "заточен" под какие-то конкретные языки или наборы навыков, а задачи в нем прикольные и позволяют получить удовольствие не только от победы, но и от участия. Я стараюсь принимать участие во всех ICFPC, и о том, как это было в прошлые годы, можно почитать в этом журнале по тэгу icfpc. ПодготовкаВ этом году я заранее вписал даты в календарик, взял на работе отгул, и договорился с Женей antilamer и Ваней _navi_ о том, что мы будем выступать одной командой и писать на Haskell. Моя жена собиралась где-то в это же время поехать с детьми на историческую родину, и мы подгадали поездку так, что на время ICFPC я остался один-совсем-один. Если быть точным, за 4 часа до старта я был в аэропорту и провожал их на самолет, и вернулся домой за 5 минут до начала. Подготовка, таким образом, свелась к заливанию ssh-ключей на bitbucket (где у нас был git-репозиторий) и обмену контактами с остальными участниками команды :) Старт и условие( Read more...Collapse ) | |
|
| Дискуссии про то, что можно, а что нельзя сделать определенным техническими средствами очень часто скатываются в унылый срач, в котором стороны по кругу повторяют одно и то же из-за того, что: 1)Технические проблемы обсуждаются на уровне самой простой возможной реализации 2)Фичи и возможности обсуждаются на уровне навороченного сервиса или коммерческого продукта 3)Разрыв в сложности и требованиях к качеству между (1) и (2) одной из сторон напрочь игнорируются. Чем меньше человек шарит в обсуждаемом, тем больший разрыв между (1) и (2) у него получается, и тем охотнее он его игнорирует. ( Напрмер, СМС для оповещения населения ...Collapse ) | |
|
| В твиттере smart_haos пишет (после недавнего наводнения в Кубани): "У сотовых операторов есть информация по координатам абонентов. Почему МЧС не умеет использовать этот ресурс для адресных оповещений?" 1)Потому, что SMS - негарантированный сервис. Ни скорость доставки, ни сама доставка - не гарантированы. То, что обычно все доходит быстро - это, грубо говоря, просто "везет". Пока не начались перегрузки сети, например. ( Read more...Collapse ) | |
|
| Работа моя нынешняя пригласила Саймона Пейтона-Джонса ( того самого) прийти и рассказать нам что-то интересное. Он согласился и пришел, рассказывал вариации на тему побега из башни из слоновой кости (кто не видел - пролистайте хоть слайды, они ржачные). Т.к. аудитория наполовину состояла из caml-программистов, позубоскалили на тему eager и lazy evaluation, и т.д. и т.п. В процессе я узнал, что (извините за пиджин рашн): ( Read more...Collapse ) | |
|
| В продолжение вчерашней дискуссии. Допустим, мы как-то распознаем разговоры и сохраняем получившийся текст. Я намерено не хочу сейчас касаться ни качества "аудио", которое придется распознавать, ни качества получающегося в результате текста. Пусть даже тут у нас все будет идеально. Расскажите мне пожалуйста, что с этими текстами делать потом? (напомню, что мы говорим про Кровавый Режим, который надеется получить с этого какой-то профит). ( Read more...Collapse ) | |
|
| Забавно наблюдать, как люди стартуют с посылки "Кровавый Режим удаленно включает телефон и СЛУШАЕТ", а когда им начинают задавать вопросы, это превращается в "Ну, может и не включает удаленно, но уж точно внедряет в телефон ЧТО-ТО, чтобы он сам потом включался и передавал". ( Read more...Collapse ) | |
|
| А кто что себе думает про ICFPC-2012? Кто собирается участвовать? На чем писать? Я в этом году твердо намерен не пропустить мероприятие - кто хочет объединить усилия? UPD: договорился с _navi_ и antilamer. | |
|
| Знаете, есть такая игра, в которой ведущий описывает какую-то невероятную ситуацию, а все игроки пытаются разобраться, в чем же дело, задавая вопросы, на которые можно отвечать только "да" или "нет"? Например, ситуация может быть такая: "в чаще леса среди обгоревших деревьев лежит труп. На нем маска для ныряния, плавки и акваланг". После долгих расспросов выясняется, что человек спокойно себе плавал в каком-то водоеме, пока его не зачерпнул вертолет, который тушил лесной пожар. Потом его сбросили (вместе с водой) над горящим лесом и он разбился. В этом объяснении есть только один скользкий момент: реально ли, чтобы вертолет вот так зачерпнул пловца? Как только вы допустили для себя, что это реально, все остальное уже не вызывает никаких вопросов. Все хмыкают: "ну, дела!" и переходят к следующей загадке. ( А теперь представьте ...Collapse ) | |
|
| Я внезапно понял, что сегодня я обязательно должен рассказать вам про Одну Футболку.
Когда-то - неважно, когда - я регулярно наведывался в компанию К. Атмосфера там была демократичная, в костюмах с галстуками мало кто ходил. Словом, типичная IT-шная лавочка.
И вот я туда пришел первый раз, и попался мне там на глаза персонаж в запоминающейся футболке - яркого цвета и с какой-то рожей на пузе. Прихожу я туда второй раз - он опять в этой же футболке. В третий раз - ну, вы уже поняли ...
Я с его коллегами пошутил на тему того, что вот ведь как мне везет - третий раз прихожу, и все время попадаю на одну и ту же футболку. И тут выяснилось следующее: он в этой футболке - каждый день(!).
А все началось с того, что как-то раз этот персонаж вел со своими коллегами неспешную беседу про холостяцкий быт, и они принялись считать минимальный разумный размер гардероба. А персонаж возьми и скажи: "А футболка может быть вообще одна!". Тут его подняли на смех и сказали, что никак не возможно с одной футболкой - на работу же каждый день, а ее ж надо стирать, и два дня подряд не надевать, чтобы не иметь чмошный вид. Слово за слово, поспорили. Причем, при большом стечении народа.
Спор был примерно такой: за каждый день, пока товарищ ходит в одной и той же футболке (стирать! два дня подряд не надевать!), он получает какую-то сумму (неплохую, другие бы и пообедали на эти деньги). Как только пришел в чем-то другом - все, лавочка закрывается.
А товарищ оказался принципиальный и давай ходить в футболке каждый день. И проходил так уже год, и останавливаться не намерен. Футболка обветшала слегка, но пока держится. А кто с ним спорил, теперь ежемесячно в день зарплаты выдают ему оговоренную сумму. После первых двух-трех месяцев они было заартачились, но общественное мнение их убедило, что слово пацана надо держать. Потом они уже и сами привыкли.
True story. Чем все в конце-концов закончилось, не знаю. Думаю, футболка разлезлась на тряпочки в конце-концов. | |
|
| Вот еще прибежало в почте: " Часто в шпионских фильмах агенты ФБР делают прослушку и ждут две минуты, после чего находят адрес человека, а если звонок срывается, то не могут найти.
Это кажется очень нелогичным, не могли бы вы дать комментарий специалиста?" Мне это тоже кажется нелогичным. ( Read more...Collapse ) | |
|
| И снова мне пишет Олег: Как понимать тогда: Директиву Евросоюза №2006/24/ЕС «О сохранении данных, создаваемых или обрабатываемых при оказании услуг связи», телефонные компании обязаны хранить не менее полугода все записи всех телефонных разговоров, всех SMS, а также местоположение звонившего начиная с 15 сентября 2007 года." ?
И еще. Что же тогда перехватывает АНБ, Эшелон, ОСНАЗ (станция слежения на Кубе) и пр. ?( Read more...Collapse ) | |
|
| Эх, давно я не брал в руки шашки и не писал про GSM. А тут как раз в комментариях на pro-gsm.info мне пишет некто Олег: Имеются в продаже так называемые репитеры для организации мобильной связи в местах плохого приема сигнала. Фактически это маленькая базовая станция (промежуточная), которая сама связывается с БС оператора и поддерживает связь с другими мобильными телефонами в радиусе ее действия. Эта БС имеет приемную и передающую часть. Если поднять ее мощность настолько, что ей телефон будет давать предпочтение, то через нее можно запустить работу интересующего абонента. Правда, необходимо находиться в непосредственной близости от жертвы. Возможно ли такое ?Он же: IMSI перехватываемой SIM-карты можно при желании узнать запустив репитер и анализируя полученные IMSI в процессе некоторого времени слежения.И вот что я хочу по этому поводу сказать. ( Read more...Collapse ) | |
|
| Я тут читал залежи в google reader и наткнулся на пост, озаглавленный "Окно в закабаленный мир". В нем были описаны какие-то жуткие ужасы о том, как сетапить окружение для разработки на Haskell, и я хотел бы рассказать, как это делал я. Писать буду только про Linux, т.к. с Windows у меня никакого опыта нет. ( Read more...Collapse ) | |
|
| Давеча пришлось мне заниматься софтверной паталогоанатомией. То есть, делать вскрытие чужой программе (с исходниками на OCaml), чтобы понять, почему она сдохла. Программа представляла собой узкоспециализированный diff, читающий и сравнивающий массивы сложных структур данных. Читать данные программа могла кучей способов - по сети, из файла, из базы, ... И вот ВНЕЗАПНО нашелся такой набор данных (из примерно несколько сотен тысяч элементов), который при сравнении с самим собой из двух разных источников давал неожиданый результат: "вот эти два элемента отличаются. Вот вам первый: ..., а вот второй: ....". При этом распечатанные структуры данных выглядели совершенно идентично. ( Read more...Collapse ) | |
|
| |