Search
Write a publication
Pull to refresh
0
0
Andrey Lis @Slightfox

Пользователь

Send message

Представление чисел суммой двух квадратов и эллиптические кривые

Reading time10 min
Views45K
Пусть p — нечётное простое число. Довольно широко известно, что p представимо в виде суммы двух квадратов целых чисел p=a2+b2 тогда и только тогда, когда p при делении на 4 даёт остаток 1: 5=12+22, 13=32+22, 17=12+42, ...; 3, 7, 11,… непредставимы. Куда менее известно, что a и b можно записать красивой формулой, имеющей непосредственное отношение к одной эллиптической кривой. Об этом результате 1907 года за авторством немца по фамилии Jacobsthal и о связанных вещах мы сегодня и поговорим.

Совсем легко понять, почему 3, 7, 11 и прочие числа, дающие при делении на 4 остаток 3, непредставимы в виде a2+b2: квадрат чётного числа всегда делится на 4, квадрат нечётного числа всегда даёт остаток 1 при делении на 4, сумма двух квадратов при делении на 4 может давать остатки 0, 1 или 2, но никак не 3. Представимость простых чисел вида 4k+1 неочевидна (особенно если заметить, что простота существенна: число 21 хотя и имеет нужный остаток, но суммой двух квадратов не представляется).

Читать дальше →

Обзор мини-клавиатуры с тачпадом

Reading time2 min
Views93K
image
Для управления домашним HTPC или мини-компьютером на Android не всегда удобно пользоваться полноразмерной клавиатурой. Компактным решением являются различные мини-клавиатуры, которые также сочетают в себе и функции мыши.
Читать дальше →

Начало Windows Phone 8 Development: урок 1. Макет приложения и обработчик событий

Reading time6 min
Views55K
Начало Windows Phone 8 Development: урок 1. Макет приложения и обработчик событий
Начало Windows Phone 8 Development: урок 2. Доступ к локальному хранилищу приложения
Начало Windows Phone 8 Development: урок 3. Навигация по страницам и передача параметров
Начало Windows Phone 8 Development: урок 4. Связь с сервисами и привязка к данным

В сети достаточно много материалов, посвященных разработке под Windows Phone. А вот с частным случаем Windows Phone 8 — дела обстоят несколько печальней. В данном цикле статей будет освящен материал, сглаживающий данный пробел. Однако, если Вы ищите материалы для непосредственного начала обучения по написанию приложений под эту мобильную ОС — то будет тяжело. Советую начать с изучения приложения просто под Windows 8. Однако, если Вы являетесь разработчиком ПО независимо от происхождения или платформы, то это то, что нужно.

В своих статьях я не придерживаюсь каких либо конкретных целей, не создаю взаимосвязанных уроков или что то подобное. Я просто делюсь своими идеями и опытом, которые можно взять за основу и расширить в соответствии с Вашими потребностями.

И так. Давайте дадим ответ на вопрос, какие есть этапы разработки во время создания приложения? Вот к каким выводам я пришел:
Читать дальше →

PHDays III CTF: взгляд изнутри (часть 2)

Reading time9 min
Views6.6K
Мы продолжаем свой рассказ о подготовке соревнований CTF, которые состоялись в рамках форума Positive Hack Days. Сегодня мы поговорим о создании интерфейса, удобстве его использования (юзабилити), а также разработке визуализации хода состязаний.

Первая часть

Пользовательский интерфейс


Очень важной частью разработки CTF являлось создание пользовательского интерфейса для команд (UI). С его помощью игроки должны осуществлять все действия, связанные с игровыми механиками. По личному опыту мы знали, что общее впечатление о CTF во многом зависит от качества UI, поэтому мы очень серьезно отнеслись к проработке дизайна и юзабилити.
Читать дальше →

Создание расширения FireFox для начинающих

Reading time8 min
Views49K
В данной статье представлена пошаговая инструкция по разработке простейшего расширения для FireFox.
Это частичный перевод оригинальной статьи.

Это не моя статья, а моего друга (его мыльце: templar8@gmail.com). Он очень хочет попасть на Хабр. У меня самого не хватает кармы для инвайта.
Текст статьи

PHDays III CTF: взгляд изнутри (часть 1)

Reading time13 min
Views12K
23 и 24 мая 2013 года в рамках ежегодного международного форума по практической информационной безопасности Positive Hack Days III прошло одно из крупнейших соревнований по принципу Capture the Flag — PHDays III CTF. В этом году на организацию соревнования было потрачено очень много сил, и результат не оставил равнодушным ни одного из участников. По прошествии этого события мы решили рассказать о том, как проходила подготовка соревнования и представить взгляд из-за кулис.

CTF — это соревнование по обеспечению ИБ в формате, схожем с командной игрой. Каждой команде предоставляется своя сетевая инфраструктура с предустановленными уязвимыми сервисами. Команды должны изучать сервисы, искать в них уязвимости и, используя их, атаковать сервисы своих соперников. В то же время им необходимо поддерживать собственные сервисы в работоспособном состоянии и исправлять в них ошибки, чтобы защититься от атак соперников.

При совершении успешной атаки на вражеский сервис команда получает некоторые секретные данные, называемые «флагом». Флаг является доказательством успешной атаки. Также, помимо сервисов, командам дается набор заранее подготовленных заданий, которые могут принести дополнительные флаги.
Читать дальше →

Final Term: новый взгляд на терминал

Reading time2 min
Views38K
image

Встречайте концепт нового эмулятора терминала для GNU/Linux — Final Term (http://finalterm.org).

Краткий список нововведений выглядит следующим образом: семантические контекстные (текстовые) меню, «умное» автодополнение, возможность создания собственных сочетаний хоткеев.
Читать дальше →

Android: Написание многопоточных приложений с помощью Intel® Threading Building Blocks

Reading time6 min
Views9.6K
Совсем недавно мы рассматривали написание многопоточных приложений для магазина Windows с помощью Intel Threading Building Blocks(Intel TBB). Там утверждается, что использование кроссплатформенной библиотеки TBB позволяет легко переносить вычислительную часть на другие платформы. Android как раз сгодится для хорошего примера одной из «других платформ», подробности под катом.
Читать дальше →

Запускаем Ubuntu x86 + Wine под Android x86 (chroot+VNC)

Reading time6 min
Views4.3K

Предисловие


Тема запуска Ubuntu на Android устройствах уже достаточно избитая, в сети можно найти большое количество мануалов. Но есть одно НО! Речь идет об ARM архитектуре.
Однако Intel уже анонсировала свои планы по продвижению процессоров Medfield (x86) на мобильный рынок. А также стали появятся уже готовые к употреблению смартфоны.
В Индии это Lava XOLO X900. А также его копия под брендом оператора Orange для Европы.
image
Lava XOLO X900

image
Версия от оператора Orange


Для Китая Lenovo выпустила модель LePhone K800
image
Lenovo LePhone K800


На конец июня 2012 эти устройства уже доступны в продаже.
Lava XOLO X900 с оф. сайта www.xolo.in, насколько я понял доступен в пределах Индии. Хотя его уже можно заказать с ebay. Актуальную цену для России через посредников можно посмотреть на www.bay.ru
Lenovo LePhone K800 также доступен, но пока видимо только в китайских магазинах www.360buy.com

Вступление


Пока модельный рад небольшой, и не очень доступный. Меня заинтересовали технические моменты.
И так что мы имеем. В этих девайсах стоит процессор с архитектурой x86. Не знаю кто о чем подумал.
Наверное о его низкой энергоэффективности, низкой производительности. Хотя обзоры говорят об обратном.
Я сразу подумал, не плохо бы наконец без эмуляции, запускать Windows приложения. Я думаю уже многие пробовали запускать старые версии Windows под эмуляторами (Qemu, Bochs, aDOSBox и т.п.) Деже на мощных современный Android смартфонах, тормоза ощутимые.
О возможности Dual Boot говорить пока рано. Не ясно даже есть ли BIOS/UEFI.
Я подумал что, не плохо было бы попробовать запустить Wine под Ubuntu x86. Под Ubuntu
ARM такое чудо по понятным причинам не доступно.
Ну, а так как девайса у меня на руках нет. Всё что оставалось это проверить идею под эмулятором Android x86.
Читать дальше →

Фотографии рабочих мест хабражителей и…

Reading time6 min
Views411K
image
Хабражители редко ходят друг к другу в гости. И, в то же самое время, хотят взглянуть на то, как устроились другие. Может быть, даже, позаимствовать разные интересности.

Пока вы дома, самое время вооружиться фотоаппаратом и поделиться видом своего рабочего места (домашнего).

По возможности, описываем:
1. 7 любимых гаджетов.
2. 7 ежедневных программ.
3. 7 интересных открытий, которыми вы часто пользуетесь.

Приоткройте занавесу тайны в своей обители.

PS: Бонус для владельцев ноутбуков — подключаем 2 монитора.
Читать дальше →

Шпаргалка выступающего, или Как я делал свой первый доклад

Reading time12 min
Views70K
Олег Громов выступает на конференции ДАМП-2013

Я уже 6 лет занимаюсь фронтенд-разработкой профессионально, и около 15 лет компьютерами в качестве хобби. Никогда в жизни мне не приходилось посещать конференции и, откровенно говоря, я стеснялся — сначала просто появляться на подобных мероприятиях, а до последнего момента и выступать. Как оказалось, напрасно, потому что выступать здорово!

В конце апреля Женя, коллега, подал идею съездить в Екатеринбург на Дамп — уральскую конференцию веб-разработчиков. Раз приключилась такая оказия, я подал заявку на выступление и начал выдумывать тему.

Читать дальше →

Как запустить программу без операционной системы: часть 4. Параллельные вычисления

Reading time18 min
Views30K
После долгого перерыва продолжаем делать интересные штуки, как всегда на чистом железе без операционной системы. В этой части статьи научимся использовать весь потенциал процессоров: будем запускать программу сразу на нескольких ядрах процессора в полностью параллельном режиме. Чтобы провернуть такое, нам потребуется многое сделать для расширения функциональности программы полученной в части 3.

Просто так выполнять какие-то вычисления на ядрах процессора – скучно, поэтому нужна задача, которая требует больших вычислительных ресурсов, хорошо раскладывается на параллельные вычисления, да и выглядит прикольно. Предлагаем сделать программу, которая рендерит простенькую 3D-сцену, используя алгоритм обратной трассировки лучей, или, по-простому, Ray Tracing.

Начнем с самого начала: наша цель параллельные вычисления на всех ядрах процессора. Все современные процессоры для PC, да и ARM уже тоже (я молчу про GPU) – это многоядерные процессоры. Что же это означает? Это означает, что вместо одного вычислительного ядра у процессора на одном компьютере присутствует несколько ядер. В общем случае, все выглядит несколько сложнее: на компьютере может быть установлено несколько сокетов (чипов процессора), в рамках каждого чипа (в рамках одного кристалла) может находиться сразу несколько физических ядер, а в рамках каждого физического ядра может находиться несколько логических ядер (например, те, что возникают при использовании технологии Hyper Threading). Все это схематично представлено на рисунке ниже, и называется топологией.


Читать дальше →

Персональный компьютер в гостиной

Reading time10 min
Views43K
Каждый из нас, так или иначе относящихся к ИТ, в определенный момент времени приходит к мысли — что неплохо было бы завести дома домашний сервер для закачки/хранения данных, HTPC для просмотра разнообразного контента и много других полезных сервисов.

Данный топик был мною написан как описание — что, из чего, почему и как я выбирал; балансируя между производительностью, человеческим «хочу» и бюджетом, а так же что из этого всего получилось.
Осторожно! Много текста и картинок!

Пишем своё расширение для браузера Mozilla Firefox

Reading time5 min
Views62K
Итак, после обновления Firefox до 19 версии, полностью отвалилось горячо любимое расширение Яндекс.Бар. Не забуду напомнить, что Яндекс.Бар был заменен Яндекс.Элементами, которые понравились чуть больше, чем никому, поэтому и получили свои заслуженные 2 бала из 5ти.

Почему не понравились? Заменили адресную строку, стало неудобно просматривать почту, заменили закладки и убрали корректор адресной строки (под предлогом установки Punto Switcher, который может и хорош для обычного работника, но никак не для программиста. Поэтому и был удален почти сразу же, как установлен. Да и если можно было бы настроить, то всё равно желание пропало).

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

Читать дальше →

О прокрастинации популярно, или Голливуд против лени

Reading time5 min
Views176K


Кто-то называет прокрастинацию «чумой 21 века», но наверняка это не так. Это психологическое состояние свойственно не только нам, людям «нового времени», наверняка от нее страдали и многие наши предки. Предлагаю ознакомиться с ее видами и способами борьбы с ней на ярких и узнаваемых примерах.

Вперед, у нас мало времени

Домашний GTD: Уборка дома для гиков

Reading time7 min
Views142K
image
Думаю, практически все обитатели Хабра (и я в том числе) ненавидят домашнюю уборку. Все эти горы грязной посуды, кучки разбросанных вещей и анекдоты в стиле «женщины моют посуду после еды, мужчины – перед едой» и рассказы про живность в кружке из-под чая, собственно, довольно обыденная вещь. До жены я практически так и жил ) При этом умудрялся ещё проходить еженедельные проверки комнат в общаге, устраивать вечеринки, что-то готовить и не отравиться. А также искал и находил нужную вещь в своём «творческом беспорядке». У меня «датчик необходимости уборки» включался уже когда в квартире невозможно было ходить, но потом зато квартира блестела чистотой.

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

Простое решение проблем с Flash в Ubuntu

Reading time2 min
Views140K
Большинство пользователей Ubuntu уже свыклись с безобразно работающим Flash, поставляемом в пакете flashplugin-nonfree. Лично меня релиз за релизом беспокоили разные проблемы, было мигание флешек, клик по чему-либо во флешке работал через раз, в общем нестабильная работа и стабильные тормоза. В Ubuntu 11.04 Natty Narwhal в моём случае Flash вел себя настолько отвратительно, что им было невозможно пользоваться. Но буквально неделю назад я наткнулся на простое решение, разом избавившее меня от всех проблем с flash на моей конфигурации. Самое примечательное — раньше заметно тормозило 480p видео в fullscreen, теперь даже 1080p проигрывается идеально плавно.

flash

Читать дальше →

Многопользовательская торрент-качалка на transmission

Reading time7 min
Views25K
Хочу рассказать о том, как реализовать торрент-демон с разделением по пользователям. В качестве торрент-клиента будет использован transmission-daemon.
Торрент-демон — это программа(сервис), которая выступает в качестве торрент-клиента(качалки) и как правило используется на всяких HTPC, NAS, роутерах и т.п. что бы качать/раздавать торренты не на основном ПК/ноутбуке, а на устройстве, которое всегда включено/онлайн.
Читать дальше →

Тестирование производительности: подводные камни

Reading time5 min
Views11K
Я занимаюсь созданием высоконагруженных приложений для биржевой торговли. Нагруженных как по объёму данных, так и по количеству пользователей и запросов. Естественно, что для таких приложений первостепенное значение имеет производительность, и, как следствие, тестирование оной.

Наблюдая со стороны это тестирование, я накопил некоторый объём информации, который, как я думаю, будет небезынтересен.
Читать дальше →

Настройка Wifi в Linux при помощи Adhoc на примере Ubuntu

Reading time2 min
Views50K
Эта тема уже не раз поднималась, но хорошей и легкой инструкции я так и не нашел.
Данная статья расчитана на новичков в мире Linux поэтому тут используются наиболее легкие методы настройки.
Читать дальше →

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity