Про оперативность доставки новостей

Забавные накладки можно увидеть в новостях. Сначала Гидрометеоцентр делает прогноз. Потом Одна служба новостей берёт прогноз, потом перепечатывает другая, потом третья, потом это попадает в Яндекс, потом попадает в RSS-фид, потом попадает в Гуглоридер, потом это попадает ко мне. В результате этой цепочки новость про прогноз погоды на ВТОРОЕ число попадает ко мне ЧЕТВЁРТОГО.

Спасибо, говорю я, очень помогли.

image

Из интернета — домой

Мелкие сети имеют свои преимущества. Мелкая домашняя сеть – это связка ADSL+маршрутизатор+WiFi в одной маленькой коробочке. Трогать и настраивать практически не надо, можно постоянно держать включённым. Все компьютеры/ноутбуки подключаются проводным или беспроводным способом.  Управление – очень простое, через web-консоль.

Если вспоминать старые времена доступа по dial-up, то сегодня ADSL-мопед подсоединённый к компьютеру через Ethernet выполняет функцию защиты. Практически все порты по умолчанию снаружи закрыты, консоль управления доступна только из внутренней сети – получается, что сидишь как за каменной стеной. Сам щупаешь весь интернет, но интернет тебя пощупать практически не может. Взлом мопеда через интернет представляется мне совсем сомнительным делом.

В данном случае, модем – это как бы отдельный маленький компьютер, предназначенный для доступа к сети Интернет, с высокой устойчивостью, на базе очень устойчивой операционной системы (в виде “прошивки”).

Конечно хочется в собственную домашнюю сеть залезть из интернета (от товарища, с работы, …) и использовать. Или позволить доверенным лицам использовать. На это есть три волшебных слова: DynDNS, NAT, DHCP.

(далее…)

Как нужно переводить. Часть вторая.

То, что я писал относительно давно про перевод JIRA имеет смысл и для Confluence, да и возможно и для других приложений. Однако, я там не описал ещё много интересностей и в организационном плане. Здесь и сейчас я опишу часть из них.

(далее…)

Налоговые службы хотят как лучше, а получается …

Нижеследующий случай наблюдал последние дни.

Руководитель отдела информационных технологий налогового управления местного района почтистоличного города решил поздравить всех причастных женщин с восьмым марта. Ну и решил, по всей видимости, что подчиняются ему ещё и местные юридические лица, контактными адресами которых он владеет в меру своей работозанятости. И главный адрес нашей конторы тоже в этом списке.

Дело нехитрое. Составили они лист рассылки, включили туда до кучи емайлов. Подготовили поздравительные слова, прилепили картинку и отправили. Здравствуй, пятое марта!

Всё бы ничего. Но вот “Reply-To” в письме остался от листа рассылки – со всеми вытекающими последствиями. Приём писем на лист рассылки осуществлялся без малейшей блокировки.

Второе письмо: от ААА “спасибо”

Третье письмо: от БББ “за что?”

Четвёртое письмо: от ВВВ “а почему я читаю вашу переписку?”

Пятое письмо: от ГГГ “нас всех кто-то взломал!!!”

Сотое письмо: от ДДД “для особо упрямых — это было просто поздравление от НУ района, только и всего! и не надо на него отвечать!”

Двухсотое письмо: от ЕЕЕ “ДОСТАЛИ ВЫ СО СВОИМИ ПИСЬМАМИ!!!”

и так далее …

И у нас в конторе девушка (ответственная за ящик) была не подготовленная в этом плане, и тоже ляпнула что-то.

И на это одно письмо ещё получили волну отлупов от почтовиков, так как не все ящики по списку были рабочими…

Ну проинструктировал нашу девушку и сегодня (11 числа) уже всё кончилось.

Спасибо мужчинам “отдела информационных технологий НУ по М*** району” за праздник для наших женщин.

Секатор бы в руки, поздравлялку бы и отрезал…

Почему исходники ABAP в скриншотах

Если вы тут регулярно посматриваете, то могли заметить, что основная масса исходного кода показана скриншотами. Это не защита от копирования. Связано это с тем, что инструменты для публикации иногда очень вольно могут коверкать эти исходники (не только при подготовке публикации, но и потом — при редактировании).

Инструмент может и строки склеивать, и пробелы лидирующие для "лесенки" убирать, и цветовая разметка страдать — это всё требует подхода, имеет нюансы и даже требует владения HTML.

Много раз видел побитые таким образом исходники на ресурсах типа SDN и иже с ними. Очень расстраивает.

Скриншоты же делаются проще, и с ними почти ничего не происходит — и голова не болит. Если вдруг подберу удачный инструмент или подход — то ситуация изменится.

Торрента полезна в хозяйстве

Сложилась такая ситуация: сотруднику в командировке понадобилось получить большой объём данных, и чем раньше – тем лучше.

Дано: объём данных 10гб. Входящий канал – 200к, есть некоторые ограничения. В офисе исходящий канал 50к, ограничений нет. На крайний случай есть домашний канал – 100к исходящего канала.

Решение первое: порезать по частям и заливать на бесплатные файлопомойки.

Во-первых, пока не зальёшь полностью кусок, скачать нельзя.
Во-вторых – не безопасно, без докачки, таймауты.
В-третьих, для меньшей ручной работы и постоянного мониторинга требуется дополнительный софт.

Решение второе: порезать по частям и поднять файлы на локальном http/ftp сервере.

Если необходимо разделить файлы на два исходящих канала – требуются дополнительные движения извилин и мониторинг.

Для надёжности требуется контроль целостности. Если контроль не сошёлся – требуется перекачивать весь том. Если в архиве большой файл размазан на несколько томов, то проверка целостности может потребовать все тома. Требуется работа мозга или рук для правильной нарезки и выверки. Контролировать нумерованные тома легче, чем отдельные файлы – но это не значит что их не надо контролировать вообще.

Решение третье: торрента и p2p-соединения.

1. На исходящем канале поднимается торрента (в виде мю-торрента, легковесного клиента).

2. В мю-торренте подбирается исходящий порт, видимый для клиента. В случае ограничения можно выбрать “полезные” порты: 80, 8080, 443 и подобные. Если требуется, порт необходимо открыть(прокинуть) на мопеде через “порт-форвардинг”. Порт тестируется (получателем) через браузер до достижения успешного результата в виде “инвалид реквест”.

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

4. Создаётся торрент-файл для целевой папки. Треккер в него прописывать не надо (впрочем можно копнуть сюда). Добавляем веб-сиды для “раздающих”.

5. Торрент-файл отправляем (по почте) получателю и подкладываем в мю-торрент, перехешируем и запускаем.

6. На входящем канале получатель также ставит мю-торренту и добавляет торрент файл. Сразу всё может и не зафырчит, следует вручную добавить раздающего на закладке Пиры. Требуется указать его в виде ip-адрес:порт (см пункты 2 и 3).

7. Затем с файлами и торрент-файлом перемещаемся к домашней точке раздачи. Пробегаемся по пунктам 1-2-3-5.

Результат – достигается суммарная исходящая скорость 50к+100к, нет особой возни с балансировкой, томами и файлами, контроль целостности достигается микроблоками и легко исправляется. Архивация не требуется в целях контроля целостности, только для сжатия данных. Папка с тучей файлов или один большой файл – также особого значения не имеет.

Другие решения: например, можно попробовать работать через файлосинхронизационные сервисы совместно с хранилищами – хостинг, лайв, гугл, дропбокс и так далее по списку.

Сортировка почты без почтового клиента

Сортировка почты – вещь ну просто необходимая при большом потоке писем. Есть куча методов и подходов к сортировке.

например, продвинутым моментом я считаю такую настройку, при которой письма сами раскладываются по папкам, на основании заголовков и адресной книги. То есть так, чтоб при этом не надо было постоянно подкручивать правила сортировки – по правилу “один раз настроил – и работает”.

Ещё есть интересные моменты скриптования прямо на сервере – это называется Sieve.

Пишешь скриптик, и он работает в моменты, когда происходит обработка писем на сервере.

Например, я пока повесил на один из ящиков скрипт:

require ["reject"];

if address :is ["To", "Cc"] ["contact@sample.com"] { }
else {
    reject "Banned";
    stop;
}

Здесь contact@sample.com – адрес ящика, на который я повесил этот скрипт, а “Banned” – текст в отлупе.

Скрипт делает следующее: реагирует отлупом на все письма, которые направлены не напрямую в этот ящик (спам, рассылки и подобные письма). Проходят только письма, у которых этот ящик указан в полях Кому(To) и Копия(CC), но не в Скрытой/Слепой Копии (BCC).

Пока поставил, поживём – увидим, что будет дальше.

Между Гуглом и Яндексом

Я давно уже отмечаю, что эти два монстра друг на друга похожи, но никогда не сравнивал их.

Очень многие сервисы повторяют друг друга: 

  • Почта и поисковик – это только основная открытая часть
  • ГуглТолк против Я.Онлайн
  • Метрика Яндекса против Гугловой Аналитики
  • Лента Яндекса против Гуглового Ридера
  • ЯндексДирект против “как-эта-штука-называется-у-гугла”
  • Фотки Яндекса против ГуглоПикасы
  • Ютуб против ЯндексВидео
  • и так далее…

Часто используются не только похожие принципы, но и похожая реализация. Различие кроется в деталях.

Вот можно, например, детально сравнить Ленту с Ридером:

  • Яндекс имеет рекламный блок, у Гугла всяческая реклама отсуствует
  • Яндекс имеет прокрутку по полной странице, Гугл имеет прокрутку по вложенным спискам
  • Гугл имеет полный AJAX, а у Яндекса он, похоже, только частичный.
  • Яндекс использует постраничное разбиение списка новостей, а Гугл использует прокрутку и динамическую подгрузку
  • Гугл имеет колаборативные сервисы “нравится, общие, комментарии”, а у Яндекса есть только репостеры в ЖЖ, Твит и иже с ними
  • Гугл умеет оперировать статистикой подписки – причем как серверной, так и юзерной, а у Яндекса такие возможности почти отсуствуют – можно посмотреть только количество подписчиков
  • Рекомендации Гугла основываются на текущей подписке, но вот откуда сложились рекомендации у яндекса – для меня загадка
  • Гугл позволяет лепить дополнительные теги на новости, а классификация Яндекса останавливается на папках
  • Возможности настройки интерфейса у Гугла более серьёзные, нежели у Яндекса

 

В разрезе данного сервиса мне видится преимущество Гугла несомненным.