Пару недель назад попробовал было зарегистрировать себе Dropbox, и с удивлением узнал, что я там уже зарегистрирован очень давно.
Восттановил старый пароль, начал пользоваться. Порадовало наличие клиентов под разные операционные системы (у меня в работе используются и MacOSX, и Android и Windows7), порадовали функции и вообще всё хорошо... пока я не попробовал расшарить html-файл. То есть я подумал,- если сервис позволяет расшаривать файлы, и вообще есть папка Public, в которой все файлы по умолчанию доступны,- почему бы не положить туда простенький сайт без движка, чиcтый HTML+CSS+JavaScript? Ан нет, не работает. Не знаю по каким причинам, но html-файлы или не отдаются вообще (ошибка 404), или отдаются, но путь к файлу совсем не такой, как хочется предполагать.
Т.е. хостинг сайта из DropBox'а сделать не получится.
Много раз сталкивался с ситуацией, когда надо сделать ячейку таблицы, объединяющую все столбцы (например для подзаголовка группы строк или как footer для всей таблицы). Если наперёд знаешь сколько столбцов,- не проблема, есть стандартный атрибут colspan, указываешь количество объединяемых ячеек, например colspan="2", всё работает.
А если страница выводится скриптом и количество столбцов наперёд неизвестно? И нет возможности посчитать в шаблонизаторе? В последний раз такая задача возникла при использовании Django, там шаблоны очень удобные,но с математикой там туго, а писать собственный template tag или filter казалось излишеством. Выкручивался либо изменением шаблона (чтобы такое объединение ячеек вообще не было нужно) либо городил в коде дополнительный подсчёт количества столбцов, пока не надоело. А когда надоело,- полез гуглить.
Оказалось, что не я один "хочу странного", куча народу уже сталкивалась с такой-же проблемой. Пробовали писать colspan="all" или colspan="0", - не во всех браузерах работает. На stackoverflow даже народ упёрся,- и там нашлось решение,- рекомендуют писать colspan="100%".
Попробовал на доступных браузерах,- работает везде.
Буквально вчера (16 мая 2011 года) в интернете запустился проект jslinux (эмулятор PC с Linux на javascript в браузере) от уважаемого мужчины по имени Фабрис Беллар. Эмулятор для запуска Linux полностью написан на JavaScript. При входе на страницу отображается консоль, на которой начинается загрузка Linux с нуля до момента отображения рутовой консоли. В консоли работает куча стандартных команд, вплоть до компилятора TCC. И всё это работает прямо в браузере. Крутизна необыкновенная.
Очередной первоапрельский RFC 6217: Regional Broadcast Using an Atmospheric Link Layer
Предлагают использовать в качестве среды передачи атмосферу. В IPv4/6 слишком много лишних заголовков (Destination, TTL (Time to Live), DSCP (Diffserv Code Point), ECN (Explicit Congestion Notification), Hop Limits и т.д.). От этого всего можно отказаться. Оставим только необходимое:
Content - Поле переменной длины, содержащее инкапсулированные данные протоколов верхнего уровня,
Source - источник данных
В качестве источника могут выступать:
На забугорных форумах нашёл информацию о том, что в телефоне при наборе *#5702000# включается режим Keyboard Test (ну это проверка клавиатуры по-нашему). Проверил, - действительно запускается. Такой текстово-гравический экранчик с крупными буквами, просит нажимать последовательно F1, F2 и т.д. Каждая кнопка нажимается по 2 раза, после этого переходим к следующей кнопке. Дошёл до кнопки Ok, нажал два раза,- телефон ушёл в ребут. Правильно, ведь на этом забугорном форуме было написано, что для Factory Reset'а надо дважды нажать Ok в режиме тестирования клавиатуры . Вот только как проверить оставшиеся клавиши после Ok? Правильно, второй раз нажимать другую клавишу
Собственно сброс забытого администраторского пароля так и происходит.
Понадобилось сделать небольшую обёртку для полей ввода в HTML, чтобы по умолчанию в пустом поле стоял текст подсказки (ну например, "введите номер телефона"), при входе в поле строка очищалась, при выходе и пустом значении подсказка возвращалась, а если что-то введено,- значение оставалось.
Написал коротенькую функцию на javascript с использованием библиотеки JQuery. На вход подаётся объект JQuery и строка для подсказки, текст подсказки устанавливается в поле и применяется CSS класс "hint" для оформления подсказки.
function jquery_input_focus_unfocus_with_text(jquery_input,text){// bind focus event wrapper
jquery_input.bind('focus', function(){if($(this).val()==text){// remove input styles
$(this).removeClass('hint');
// set empty
$(this).val('');
}});
// bind unfocus event wrapper
jquery_input.bind('focusout', function(){if( ! $(this).val().length>0){// set default text
$(this).val(text);
// set default input styles
$(this).addClass('hint');
}});
// set default valueif(jquery_input.val().length<=0){ jquery_input.val(text); }if(! jquery_input.hasClass('hint')){ jquery_input.addClass('hint')};
};
На форумах, где тусуются VoIP-спецы, периодически появляются непрофессионалы (такие-же как и я) и начинают троллить на тему классов софтсвичей,- чем отличается class 4 от class 5. Меня тоже беспокоит этот вопрос, иногда даже хочется об этом поговорить
Просто для памятки:
Softswitch class V — предоставляют функции работы с оконечными абонентами сети, предоставляя им транспортные услуги и дополнительные виды обслуживания (ДВО).
Softswitch class IV — предназначен для организации транзитного центра в некоторых операторских сетях. Он осуществляет маршрутизацию и распределение вызовов в IP сетях на магистральном уровне, обеспечивая транзит и перераспределение трафика, получаемого от региональных сегментов.
Про классы III, II и I интернеты расходятся во мнениях,- большинство сайтов вообще стыдливо молчат о существовании софтсвичей таких классов, кое-где, например в резюме инженеров, встречаются робкие упоминания об опыте работы с softswitch class III.
На некоторых ресурсах встречается такое объяснение классификации (больше похожее на кальку с традиционной телефонии):
class 5,- локальный узел, непосредственно взаимодействующий с абонентами.
class 4,- транзитный коммутатор
class 3,- межрегиональный коммутатор
и так далее до межконтинентальных и межпланетных и межгалактических
Alcatel-Lucent анонсировал новую технологию базовых станций, кооторая может стать огромным прорывом в построении беспроводных сетей в ближайшие годы. Новая базовая станция lightRadio существенно снижает требования к размерам, стоимости и потреблению энергии. lightRadio состоит из нескольких компонент: Во-первых, вместо разрозненных антен для 2G, 3G и LTE используется одна многополосная Wideband Active Array Antenna, которая (по заявлению Alcatel-Lucent) может быть смонтирована где угодно. Во-вторых, куб lightRadio содержит усилитель и радиоподсистему в крайне маленьком корпусе, который может уместиться в одной руке. В третьих, новая технология использует архитектуру System-on-a-Chip, способную управлять трафиком независимо от того, достаточно ли ресурсов для этого (т.е. трафик может обрабатываться как самой антенной, так и в облаке). Также используется новая технология сжатия и виртуализации ПО для управления контроллерами и шлюзами. Для работы устройства требуется только электричество и широкополосное подключение к сети. Некоторые операторы (например, Verizon Wireless) получат устройство для тестирования во второй половине 2011 года.
Тестирую новую железку SIP видеотелефон Yealink-2009 в связке с Мультифоном. Мегафон показал железку сначала на экспокоме, а потом девайс засветился в новостном ролике на канале "Россия 24" про Мультифон, и дальше мелькал ещё несколько раз в разных новостях:
Характеристики и картинки можно посмотреть на сайте Ip.Matika, там же в разделе "Файлы" есть последняя прошивка, инструкция для пользователя и прочие нужные вещи.
Текущая версия прошивки в исполнении Мегафона помимо русификации содержит ещё и кнопку для переключения режима приёма входящих для Мультифона. Переключение работает только для одного аккаунта Мультифон, и этот аккаунт должен быть первым в списке настроенных. Прошивку можно получить, настроив автообновление в веб-интерфейсе (вкладка Upgrade -> Advanced)
Очередной квест про программирование на Python,- помимо потребности прочитать Excel из Python появилась необходимость создать файл Microsoft Excel. Оказалось, что для xlrd (чтение Excel) существует парный пакет xlwt,- для создания файлов. Пакет позволяет создавать файлы с несколькими вкладками (sheet), применять форматирование в ячейках, вставлять формулы и кучу других полезных вещей. Поддержка кодировок на уровне, для русского языка достаточно при инициализации файла (книги, workbook) указать требуемую кодировку:
book = xlwt.Workbook(encoding='cp1251')
Все строки будут прозрачно перекодированы при записи в ячейки, если, конечно, вы пишете на python в UTF-8.