Category: технологии

Category was added automatically. Read all entries about "технологии".

фотография, 4X_Pro, фото

«Два Интернета»

После того, как лет пять назад нам телефон перевели на оптоволокно, из МГТС стали часто названивать с предложениями подключить через него же другие услуги. Сначала уговорили отца на цифровое ТВ, а потом — стали предлагать Интернет. Но Интернет у нас был от Onlime, и проплачивал я его обычно как минимум на три месяца, а то и на год, поэтому всегда отказывались. Кроме того, было неизвестно, дают ли в МГТС «белый» IP или только «серый», и есть ли доступ в настройки роутера, чтобы можно было задать пароль от WiFi самому и сделать port mapping. (В случае Onlime я покупал роутер сам, поэтому подобные вопросы были неактуальны.)
А вчера отцу позвонили из МГТС и сказали, что в ближайшие дни заменят роутер. Он согласился, согласовали время, и сегодня роутер привезли. Но не просто привезли, а еще и включили там Интернет с акцией 1 руб/мес за первые два месяца. Интереса ради я стал тестировать. С компьютера пинг получился 5-6 мс (причем почему-то на WiFi лучше, чем на проводах), а скорость — на проводах — 96/95 Мбит/с (так как провод четырехжильный, изначально сделанный для цифрового ТВ, и 1000-мбитный режим поэтому недоступен). С WiFi в 5 ГГц-диапазоне — 68/32 Мбит/с, на обычном — примерно такая же, как всегда. Но каково же было мое удивление, когда подключился с мобильных устройств. С планешта SpeedTest намерил 220/180 Мбит/с. Даже не верится, что по WiFi, а не проводам, такое возможно. Да и IP вроде как «белый» дали (правда, не знаю, навсегда или только на время акции).
В общем, теперь у меня дома два разных канала доступа в Интернет. Только вот что с этим делать — непонятно. С одной стороны, можно переключиться на МГТС. Будет и скорость больше, и освободится, и можно будет увезти его на дачу, где настроить в режим ретранслятора. Но во-первых, на Onlime проплачен Интернет еще более чем на полгода вперед, а во-вторых, есть сложности с тем, чтобы дотащить еще один провод в мою комнату. (Сидеть с ноутбука по WiFi не хочу по идейным соображениям.) С другой — можно оставить все как есть, но сейчас роутер стоит в моей комнате, на ночь я его выключаю, и отцу приходится по утрам заходить в мою комнату и включать роутер в темноте на ощупь. Отцу это сильно не нравится.
В общем, пока сделал следующее: мобильные устройства переключил на новый Интернет, компьютер оставил на старом, и решил так все и оставить до момента, пока не кончится акция.
Репост с сайта 4xpro.ru.
фотография, 4X_Pro, фото

CodinGame: конкурс A*Craft завершился

Сегодня закончился конкурс A*Craft на CodinGame. В отличие от предыдущих, он длился всего два с половиной дня и был не на игры, а на оптимизацию: нужно было расставить стрелки на карте так, чтобы сделать суммарный путь роботов по ней максимальным. Я занял 150-ое место из 2456! (Правда, примерно последние 500 участников — те, кто зарегистрировался, но даже не попытался прислать хоть какой-то код, и поэтому получившие 0 очков.) Это гораздо лучший показатель, чем во всех предыдущих конкурсах. Если считать в относительных показателях, то до этого мне максимум удавалось подняться до 84%, а в этот раз — до 93%, что близко к моему верхнему порогу амбициозности!
И это несмотря на то, что толком на конкурс не настроился, и до воскресенья подходил к нему как-то лениво. Впрочем, задачи по оптимизации даются мне проще сами по себе. Кроме того, код был основан примерно на том же рекурсивном алгоритме, который я впервые пытался применить еще в Code of Ctulu. Написал я его достаточно быстро, но потом обнаружился какой-то совершенно непонятный баг, на борьбу с которым ушла половина воскресенья. А причина оказалась банальной: я дважды использовал одно и то же имя result в одной функции, но подразумевая при этом две совершенно разных переменных: одну для поиска максимума, вторую — для хранения значения, которое будет возвращено из функции. В результате вместо максимума возвращался последний результат.
Из-за этого я только вечером воскресенья обнаружил, что хотя алгоритм хорошо справляется с картами из узких длинных коридоров, но дает довольно посредственные результаты на картах с большими смежными областями. Для таких карт я задумал было еще один алгоритм с совершенно другим подходом, но так его и не реализовал. Во-первых, не хватало времени, чтобы тщательно его обдумать и вытащить из зоны неуверенности. Во-вторых, нашел один случай, когда первый алгоритм (который рекурсивный) давал неоптимальный результат. Сначала казалось, что ошибка простая и ее удастся устранить быстро. Но все оказалось не так: я провозился с ней до глубокой ночи. А потом выяснилось, что ошибка действительно примитивная: я забываю вызвать .copy() при рекурсивном вызове функции, в результате чего вместо копии карты для поиска на следующем шаге передается ее исходный вариант и результаты поиска пути в разных направлениях начинают влиять друг на друга. Странно, что на остальных картах это работало! Причем выяснилось, что если на каждом шаге создавать копию карты, это занимает много времени, и в итоге на многих тестах начинается вылет по таймауту. Пришлось применить «костыльное» решение: написать условие, по которому принимается решение, делать копию или нет.
Поэтому вместо второго алгоритма сделал простую проверку: если карта с большими смежными областями, и роботов много, то для последних строить путь только до ближайшей уже размещенной стрелки. И, как это ни странно, это дало определенный результат: вместо 5400 очков, которые я набирал изначально, стало получаться 5700! А вот исправление того бага с копией дало всего лишь жалких 17 очков (впрочем, их оказалось достаточно, чтобы подняться еще на несколько мест).
Но вообще, наверное, надо было писать не на Python, а на PHP. Там и код быстрее выполняется (если в PHP 7), и копии массивов создаются автоматически (так что я бы не возился полдня с первым багом и, может быть, успел бы и второй алгоритм реализовать), причем в режиме copy-on-write, что тоже дало бы неплохую оптимизацию. Но увы, нельзя применять в качестве ключей для хеша связки из нескольких значений (то, что в Python называется tuples). Впрочем, при желании это можно было бы легко обойти.
Но в любом случае, я доволен результатом!
Репост с сайта 4xpro.ru.
фотография, 4X_Pro, фото

Просто прикол

Сегодня прочел страницу "часто задаваемые вопросы" на официальном сайте фирмы Motorola и понял, что такое стостояние, которое называется "ржуизпадстула".
Вот только несколько высказываний (курсивом даны мои комментарии):


При поддерже технологии GPRS (системы пакетной передачи данных) на инфраструктуре оператора можно достичь достаточно высоких скоростей переачи данных при использовании сотовых телефонов GPRS. Например, на телефоне MOTOROLA c классом GPRS 8 (1 Up/4 Down) можно достичь минимум 38,4 кб/с и максимум (теоретически) - 64...76 кб/с при использовании различных типов содирования на сети оператора.
Мобильник, по скорости опережающий ADSL-модем — это НЕЧТО. А понятия минимум (которого тут столь упорно достигают) при GPRS связи не существует в приницпе (кроме разве что нуля при условии полной занятости всех каналов). Интересно, а что такое "содирование"?


В зависимости от серии и времени изготовления аппарата MOTOROLA вам необходимо приобрести определенный дополнительный оригинальный аксессуар для передачи данных, который содержит в упаковке кабель для соединения аппарата MOTOROLA с ПК, CD-ROM с драйверами или со специальным ПО и руководство пользователя.
Первая мысль, которая у меня возникла, при чтении этого, была "а что, телефоны, изготовленные утром, к ночным кабелям не подходят?", и только с третей попытки я понял, что имелась в виду дата изготовления.


А вот просто гениальная фраза:
У меня почему-то не полностью работает ПО Mobile PhoneTools™. Где я могу получить дополнительную информацию по настройке этого продукта?
При использовании официального коммерческого продукта MOTOROLA, а также при правильной установке все должно работать без затруденений. Дополнительную информацию как по продукту Mobile PhoneTools™, так и по настройкам Вы можете получить здесь на сайте компании BVRP – разработчика ПО и парнтера компании Motorola - http://www.bvrp.com/ENG/ (на англ. языке).
Это надо распечатать и повесить на стену работникам всех служб техподдержки. Именно так надо всегда отвечать клиентам и на все вопросы: "при правильной настройке все работает без затруднений"


Получение своей собственной мелодии или картинки возможно через отсылку EMS или MMS на свой номер телефона или скачивание медиа-файлов с WAP-ресурсов. Если Вы не являетесь разработчиком, то Вы можете скачивать картинки и мелодии с WAP-сайтов или заказывать их у компаний-поставщиков контента.
Понятно. Это телефоны с искусственным интеллектом! Они определяют вид деятельности владельца и если он является разработчиком чего-либо, то скачать и заказать ничего не позволят!


Компания Motorola не поддерживает ИК-порт (IRDA) на своих телефонах в связи с низкой скоростью передачи данных этого интерфейса. Все сотовые телефоны Motorola (за исключением сверх-бюджетных аппараов) поддерживают высокоскоростное соединение с ПК по USB-соединению v.1.0.
Высокоскоростное соединение по USB 1.0! Я просто под столом! (Для тех кто не знает, поясню, что стандарт USB 1.0 был приянт в 1996 году, позволял передавать данные со скоростью 1.5 MBit/s и почти не прижился, так как в скором времени был заменен USB 1.1, работающим со скоростью 12 MBit/s, а в последние несколько лет уже активно применяется USB 2.0 с еще большими скоростями, а для инфракрасного порта существует стандарт FIR (Fast IRDA) со скоростью 4 Mbit/s).


Впрочем, остальные страницы сайта тоже полны подобных приколов. Особенно мне понравилась надпись "изображение на экране сымитировано" вот тут: http://www.motorola.com/consumer/v/index.jsp?vgnextoid=4d142ebf844d9010VgnVCM1000008206b00aRCRD&show=productHome Наверное, это следует понимать, как "изображение сымитировано, в реальной жизни вы никогда такого не получите".

Перейти в основной блог на @Mail.Ru