Унылый лытдыбр ➽ @mathemonkey. Ибо нефиг.
После того, как я полтора гора работал с одним израильским контрагентом, мой знакомый for the lulz презентовал мне брошюру «в помощь программисту» посвященную вопросам иммиграции и последующего трудоустройства в Израиле.
Брошюра как брошюра, совершенно обычные и нормальные советы по подготовке резюме и прохождению собеседований, но, вероятно, в 1993-м году оно читалось немного по-другому.
( Под катом брошюра и/или 3 Мб трафика. )Google appengine — чудесная штука для бомж-проектов. Например, мой сервис для чтения френдленты в онлайн-агрегаторах без каких-либо проблем обслуживает 100'000 хитов в сутки. Конечно, 99% этих хитов — боты Яндекс.Ленты, Google Reader и других подобных web-приложений, но всё равно цифра сама по себе остаётся забавной. Огорчает лишь тот факт, что rss-proxy уже отъедает 35% от бесплатной квоты в 657'084 запросов к внешним сервисам в день. Рано или поздно придётся что-то с этим делать.
10% HTTP ответов в логе — это «200 Ok», 80% — «304 Not modified», еще 6% — «502 Bad gateway» из-за проблем сети и/или backend'а, таким образом кэшированием неверных паролей и/или удалённых журналов можно выиграть всего около 3% квоты. Не густо. С другой стороны, если верить User-Agent'у бота гуглеридера, то порядка 40% запросов идут к фидам, на которые никто не подписан, то есть User-Agent имеет следующий вид:
Feedfetcher-Google; (+http://www.google.com/feedfetcher.html; feed-id=...),gzip(gfe),gzip(gfe)
В то время как «живой» фид выглядит так:
Feedfetcher-Google; (+http://www.google.com/feedfetcher.html; 1 subscribers; feed-id=...),gzip(gfe),gzip(gfe)
А 40% — это уже стоящая оптимизация.
Знает ли кто, насколько можно полагаться на данную информацию от гуглебота? Увы, дискуссии в посвященной Google Reader группе на эту тему как-то игнорируются представителями Google. Вопроса «почему Feedfetcher проверяет rss-поток, на который никто не подписан?» тоже в FAQ до сих пор нет.
10 суток назад, 22го мая в 17:08:47 пришел последний понг от Acorp W400G, служивсего мне верой и правдой два с половиной года. «Позитроника» в Омске уже успешно загнулась, поэтому заморачиваться с гарантийным ремонтом сей железки я не стал и понёс на вскрытие к Басаеву (хорошее прозвище для радиолюбителя, да?). Вскрытие показало, что железку внутри перекоротило и годится она нынче только на запчасти и/или в качестве декоративного элемента интерьера. Время выбирать новый SOHO-роутер.
Если Gentoo больше не радует и не приносит счастья, при разруливании битых зависимостей в коктейле из x86, ~x86 и ~*, то можно спуститься на уровень ниже и купить роутер с поддержкой DD-WRT, что и было сделано. Выбор пал на вариант D-Link DIR-320. Дешево (1750 р.) и сердито. В комлпекте Wi-Fi, 4+1 Ethernet, 1 порт USB (по слухам даже 2.0) и 32 Мб оперативки.
Залив DD-WRT, я незамедлительно наступил на грабли, которыми чуть не брикнул роутер. Точнее, попытался залить прошивку, которая была на несколько килобайт больше, чем размер внутренней флэшки. Как оказалось, загрузчик прошивка не меняет, и это хорошо. Осталось только поправить работоспособность WPA2, прикрутить к USB что-нибудь помимо принтера... например, USB-колонки и mplayer и получить на выходе замечательный будильник с интернет-радио.
Может быть у кого остались в закладках другие интересные рецепты на базе DD-WRT?
В конце того самого треда несколько людей написали, что проблему с транспортами на GTalk наконец-таки пофиксили. Я проверил — действительно всё работает.
Ура, pymeta-t оказался действительно временным костылём!
Среда, пятница, суббота, воскресенье.
| туда | обратно | туда | обратно | |
|---|---|---|---|---|
| Центр | 8:00 | — | 16:00 | — |
| Ленинск | 8:25 | 12:50 | 16:25 | 20:50 |
| Сады | 9:05 | 12:15 | 17:05 | 20:15 |
| Шинник | 10:30 | 11:20 | 18:30 | 19:20 |
| Радуга | 10:50 | 11:10 | 18:50 | 19:10 |
| Зеленый берег | — | 11:00 | — | 19:00 |
Как и в прошлый год цена — 15 р. в один конец, при скорости ветра выше 14 м/с рейсы отменяются.
Сходил с одногруппниками на местный межуниверситетский code contest, который гордо звался «региональная олимпиада по программированию». 5 задач, 4 часа и ЭЛТ-мониторы, после которых пришлось два часа проветривать голову, вкручивая педали. Увы, правила олимпиады запрещали использовать свои ноутбуки.
Вцелом, наказ Директора ИМИТ мы с одногруппниками выполнили на все 100%: Егор Непомнящих на первом месте, я на втором и Антон Вальтер на третьем.
Из недостатков contest-а можно отметить только скользкую формулировку одной из задач — решая совершенно другую задачу я потратил полтора часа и искренне сожалел, когда дубовое решение, написанное за 20 минут, прошло все тесты с первого раза. Обсуждение этой задачи после соревнования вернуло мне веру в собственные когнитивные способности — получив дипломы, мы так и не смогли решить, что же именно хотели сказать авторы третей задачи, хотя все трое эту задачу решили, судя по турнирной таблице.
Также изрядно доставило решение Егора задачи о рюкзаке: вместо ожидаемого решения динамическим программированием он поступил как настоящий спешащий турист — в течении полутора секунд, оставшихся до отправления поезданаступления time-limit, генерировал случайные решения и проверял, подходят они под условия или нет. Если за полторы секунды решение не находилось, то максимум считался недостижимым. Неожиданно, но все тесты такой метод прошел с первого раза.
Всё это вполне согласуется с моими планами поучаствовать в ACM ICPC один раз на пятом курсе. Если, конечно же, меня не отчислят из университета до этого момента. Пойду, пожалуй, готовиться к экзамену по механике сплошных сред, уравнения Навье-Стокса такие уравнения.
Это кросспост моей записи из хаброблога Jabber, also в сообществе ru_jabber
То там, то здесь в течение последнего полугода возникают сообщения о том, что люди не могут подключить к их jabber-аккаунту на Google Talk новые транспорты. Как показал анализ трафика и несколько обсуждений в списке рассылки jabber-operators, дело в том, что GTalk «не любит» JIDы в формате srv.example.org, а предпочитает исключительно node@example.org и поэтому честные транспорты не могут запросить у пользователя авторизацию.
Если количество ссылок вас еще не утомило, то ниже я в двух словах расскажу, что с этим можно сделать, пока инженеры Google полгода чинят этот лютый баг.
( Read more... )Это кросспост моей записи из хаброблога программирование под *nix.
Хаброюзер allan_sundry во флейме про ботнет под Mac OS X не поверил, что недавняя уязвимость в Linux-овом udev действительно широка, глубока и в ряде случаев даже опасна. В ответ я решил написать этот топик, демонстрирующий, что создать рабочий эксплойт для опубликованной уязвимости нередко может даже фриланствующий студент-недоучка, потратив пару-тройку часов воскресным вечером.
( Read more... )
blinalexya рассказывал недавно, что на его работе ls падал в корку при обработке директорий с ~100'000'000 файлов. Не знаю, что за PohmelFS там использовалась, но учитывая тот факт, что ls сортирует имена файлов и пытается расставить их по нескольким колонкам — упасть, отожрав кучу памяти, оно действительно шансы имело.
Я же на днях наткнулся на другую смешную особенность коры утилит — seq работает с вещественными числами, а не с целыми, как может сложиться впечатление после сотни HOWTO, упоминающих код в духе $(seq 1 100). С целыми числами около нуля всё в порядке, но, если выйти за диапазон точности вещественного числа, начинают лезть артефакты, кстати, показывающие, что промежуточные вычисления делаются с точностью более высокой, чем double:
$ i=100000000000000000000; seq $i $(echo $i + 10 | bc) | uniq -c
5 100000000000000000000
7 100000000000000000008
$ i=1000000000000000000000; seq $i $(echo $i + 10 | bc) | uniq -c
33 1000000000000000000000
Уронить seq в core таким образом не получается, но загнать в бесконечный цикл — легко.
Да, и еще к вопросу о точности.
gasadov давненько провел чудный эксперимент и закодировал фотографию в mp3. Что я могу сказать — даже в 320kbps преобладает теплый ламповыйцветной электронойз.
