December 16th, 2013

Забавно. Вроде и не…

https://www.facebook.com/photo.php?fbid=1015201403…
Забавно. Вроде и не новость, но смотрится странно: в 12-часовом формате времени 12:52am идет раньше, чем 10:35am. И я тут задумался - а какая разница, 12 a.m. или 12.p.m. для обозначения полуночи, ведь m означает meridiem - полдень. Полночь она и в африке полночь - что 12 часов до полудня, что после.



На сайте музея Гринвича написано, что "12 noon is neither a.m. nor p.m.", там же советуют во избежание недоразумений называть полдень полднем (12 noon), а полночь - полночью (12 midnight), и никак иначе, либо использовать нормальную 24-часовую систему времени.



Но тут есть и близкий вопрос - а является ли полночь началом дня или его концом? Например, если мы хотим хотим указать полночь с 18 на 19, то как писать, "at midnight on Wednesday, December ..." - далее 18th или 19th? Такое довольно важно во всяких контрактах и юридических документах.



Американский нацинститут стандартов и технологий рекомендует в строгих документах использовать нотацию "11:59 p.m." и "12:01 a.m." для обозначения соответственно конца дня и начала следующего дня (http://www.nist.gov/pml/div688/times.cfm).



А что до самой посылки, то радостно, что она прошла таможню за утро.

Не может быть, чтобы не…

https://www.facebook.com/photo.php?fbid=1015201482…
Не может быть, чтобы не было такого софта. Нужен периодически. Технари, вдруг подскажите. По сути простая штука. Ниже - программистам и админам)



Навеяно Reverse SSH tunnelling.



Я быстренько набросал макет софта (см. картинку). Смысл в том, что на каком-то случайном IP из некоторого пула IPs поднимается специально для вас сервер на указанном вами порту (если он не занят), и весь траффик перенаправляется через это приложение на указанный вами локальный IP, доступный с вашей машины (в простейшем случае это localhost) и на указанный вами порт.



Разумеется, между приложением и сервером налаживается соединение по инициативе приложения. Пока соединение активно, все работает. Сервер держит соединение ограниченное время, есть лимит на к-во соединений, на общее время пользования соединением, на траффик, пропускаемый через этот канал и т.д, учитывается "популярность" порта - скажем, на 80-й порт должен иметь больше ограничений, чем какой-нибудь 14325.



В паре с простым прокси-сервером легко перехватывать траффик мобильного приложения. Достаточно ему указать прокси t6372.srv.ru:3128, а через приложение замкнуть его на прокси на ноутбуке localhost:3128. Прелесть в том, что работать это будет, даже если между телефон и ноутбук в разных сетях находятся.



Можно таким образом открыть домашний сетевой диск на работу.



Или вот еще пример использования: отладка коллбэков. Скачиваешь программу, нажимаешь кнопку connect, задаешь правило: все обращения по 80-му порту должны редиректиться на 80-й порт локального разработческого сервера. Далее во внешней системе (платежном шлюзе или что-то еще) прописывается этот адрес (t6382.srv.ru:14325), а на разработческом сервере внутри компании 10.5.3.1:3234, скажем, стоит обработчик. Правило t6382.srv.ru:14525->10.5.3.1:3234 работает, пока есть соединение между приложением и сервисом.



Конечно, с помощью такого приложения можно дать доступ к внутренним ресурсам сети внешнему человеку, но это уже на совести пользователя.



Неужели такого ничего нет? Возможно, я что-то не до конца понимаю - буду рад, если кто-то найдет ошибки в логике.