В связи с прочтением соседнего поста предлагаю перечислить список бирж, на которых можно найти альтернативу тому унылому говну, в которое превратился free-lance.ru, ибо терпеть планомерный геноцид я больше не намерен.
Александр Басов @AllexIn
Разработка игр, в том числе на Unreal Engine
Пульс Хабра
5 min
25Kcallidus77: Помница в нашей сетке монтажники подключали абонента. Пришли, воткнули сетевуху, а у него Фря и дров нету. Почесали головы и ушли. Чел через три недели наконец-то коннектится.
Грят: «Долго ж ты искал дрова.»
Он: «Я не искал. Я их сам написал.» Баш
Наверное, каждый автор трепетно следит за судьбой своих статей, такому автору на хабре всегда чего-то не хватает. Мне всегда не хватало инструментов наблюдения за статьями — поэтому я и решил их написать.
Под катом мы разберемся с основными инструментами ресурса и потенциальной возможностью применения. Весь инструментарий доступен по адресу http://www.habr-analytics.com, исходный код (основные функции) на github. За примерами и деталями — добро пожаловать под кат!
Структура статьи
- Пульс Хабра
- Монитор статей
- Анализ пользователей
- Пересечение хабов — диаграммы Венна
- Аудитория хабов
- Исходный код и структура проекта
- Заключение
*Осторожно трафик*
+128
Возможности метатаблиц в Lua на примере реализации классов
7 min
27KTutorial
В Lua ООП нет. И оно, в общем-то и не нужно: удобной модульности и функций первого класса достаточно для реализации многих вещей. На этом можно было бы и закончить, но пост не про это. В данном случае я распишу работу с метатаблицами, где в качестве примера шаг за шагом будет реализовываться системка по работе с классами в несколько таком python-стиле. Для понимания нужен хотя бы основной базис языка: таблицы, upvalues.
+22
Как собрать электробайк за семь дней
1 min
131KTutorial
Уже очень давно и часто на канале меня просили показать, как же собрать «такую штуку» самому. Особенно после публикации "На электричестве до Крыма". Поэтому, при постройке нового проекта, было принято волевое решение заснять всё на камеру и потом предоставить страждущим в цивильном виде. Волевое, потому что руки всего две, глаз тоже всего пара, и уследить за тем, куда смотрит камера, а куда уже убежала дрель в рабочем процессе очень сложно. Так же это увеличило временные затраты, особенно после. Ролики я фактически собирал даже дольше, чем сам ебайк. Ну да ладно, все тяготы уже позади, встречайте:
День первый: крафтим раму из полуконструктора
День первый: крафтим раму из полуконструктора
+57
Алгоритм Диффи — Хеллмана
1 min
165KОдна из фундаментальных проблем криптографии – безопасное общение по прослушиваемому каналу. Сообщения нужно зашифровывать и расшифровывать, но для этого обеим сторонам нужно иметь общий ключ. Если этот ключ передавать по тому же каналу, то прослушивающая сторона тоже получит его, и смысл шифрования исчезнет.
Алгоритм Диффи — Хеллмана позволяет двум сторонам получить общий секретный ключ, используя незащищенный от прослушивания, но защищённый от подмены канал связи. Полученный ключ можно использовать для обмена сообщениями с помощью симметричного шифрования.
Предлагаю ознакомиться с принципом работы алгоритма Диффи – Хеллмана в замечательном видео от Art of the Problem в моем переводе.
Алгоритм Диффи — Хеллмана позволяет двум сторонам получить общий секретный ключ, используя незащищенный от прослушивания, но защищённый от подмены канал связи. Полученный ключ можно использовать для обмена сообщениями с помощью симметричного шифрования.
Предлагаю ознакомиться с принципом работы алгоритма Диффи – Хеллмана в замечательном видео от Art of the Problem в моем переводе.
+124
Wi-Fi сети: проникновение и защита. 1) Матчасть
9 min
622KСиноптики предсказывают, что к 2016 году
При таком тренде не может
Этим циклом статей я хочу собрать воедино описания существующих технологии защит, их проблемы и способы обхода, таким образом, что в конце читатель сам сможет сказать, как сделать свою сеть непробиваемой,
Статья по мере написания выросла с 5 страниц до 40, поэтому я решил разбить её на части. Этот цикл — не просто инструкция, как нужно и не нужно делать, а подробное объяснение причин для этого. Ну, а кто хочет инструкций — они такие:
Используйте WPA2-PSK-CCMP с паролем от 12 символовa-z
(2000+ лет перебора на ATI-кластере). Измените имя сети по умолчанию на нечто уникальное (защита от rainbow-таблиц). Отключите WPS (достаточно перебрать 10000 комбинаций PIN). Не полагайтесь на MAC-фильтрацию и скрытие SSID.
Оглавление:
1) Матчасть
2) Kali. Скрытие SSID. MAC-фильтрация. WPS
3) WPA. OpenCL/CUDA. Статистика подбора
+167
Инверсная кинематика: простой и быстрый алгоритм
7 min
51KRecovery Mode
Translation
Что такое «Инверсная кинематика»?
Задачей инверсной кинематики является поиск такого набора конфигураций сочленений, который обеспечил бы максимально мягкое, быстрое и точное движение к заданным точкам. Однако, множество существующих ныне методов страдают от таких недостатков как высокая вычислительная сложность и неестественность результирующих поз. В этой статье описан новый (вероятно, на момент написания статьи — 2010 г.) эвристический метод под названием «Метод прямого и обратного следования» ( Forward and Backward Reaching Inverse Kinematics, далее просто FABRIK),
FABRIK избегает использования вращений и матриц в пользу непосредственного получения точки на прямой. Благораря этому, дело обходится всего несколькими итерациями, имеет низкую стоимость вычислений и визуально естественную позу в результате. FABRIK так-же без проблем справляется с наложением ограничений а так-же использованием нескольких цепей и/или конечных точек. Именно об этом методе этот пост.
Задачей инверсной кинематики является поиск такого набора конфигураций сочленений, который обеспечил бы максимально мягкое, быстрое и точное движение к заданным точкам. Однако, множество существующих ныне методов страдают от таких недостатков как высокая вычислительная сложность и неестественность результирующих поз. В этой статье описан новый (вероятно, на момент написания статьи — 2010 г.) эвристический метод под названием «Метод прямого и обратного следования» ( Forward and Backward Reaching Inverse Kinematics, далее просто FABRIK),
FABRIK избегает использования вращений и матриц в пользу непосредственного получения точки на прямой. Благораря этому, дело обходится всего несколькими итерациями, имеет низкую стоимость вычислений и визуально естественную позу в результате. FABRIK так-же без проблем справляется с наложением ограничений а так-же использованием нескольких цепей и/или конечных точек. Именно об этом методе этот пост.
+56
Мобильные приложения для путешествий
9 min
93KСезон отпусков начнётся в ближайшие недели. Продажи всевозможных гаджетов, полезных в путешествиях, неуклонно растут. Фотоаппараты, планшеты, смартфоны, ридеры, плееры закупаются в предвкушении моря, пляжей, исторических достопримечательностей, джунглей, гор и множества других прекрасных мест на нашей планете. Но при этом многие счастливые обладатели планшетов и смартфонов упускают такой немаловажный момент, как полезные и удобные приложения, способные существенно облегчить, или украсить, или дополнить новыми впечатлениями ваш отпуск. Поэтому мы решили предложить вашему вниманию подборку ряда приложения для путешественников.
+52
Умная инвалидная коляска-трансформер
4 min
79KПривет Хабр!
Хочу рассказать о нашем проекте создания вездеходной инвалидной коляски с электроприводом. В техническом понимании это не просто коляска, а настоящий робот, я бы даже сказал – робот-трансформер.
Хочу рассказать о нашем проекте создания вездеходной инвалидной коляски с электроприводом. В техническом понимании это не просто коляска, а настоящий робот, я бы даже сказал – робот-трансформер.
+96
Не соблаговолите ли больше не нарушать, сэр (мэм)?
4 min
66KПримерно неделю назад Vasyutka опубликовал пост про распознавание номеров и обещал, что мы выложим софт, который можно будет опробовать. Мы немножко схитрили, не рассказав все подробнее. Ну, а то бы никакой интриги не было! Ядро алгоритма распознавания мы сделали с полгода назад, но тот проект, для которого оно было сделано, не двинулся. Он остановился где-то на альфа-версии. Подумав, и посовещавшись с заказчиком, мы решили, что это нехорошо, когда такой алгоритм пылится на полке и не приносит пользу обществу. С другой стороны выкладывать все исходники распознающей части не хотелось. Тогда и родилась идея, о которой пойдёт речь в этой статье.
Решили мы, собственно, сделать открытый сервер, который бы распознавал номера, приходящие http-запросами. Так как вся идея некоммерческая, то сервер, конечно, слабенький, но на то, чтобы народ игрался, надеюсь, его хватит.
А вот тут крутой поворот сюжета. Пост этот не про протокол обращения к серверу. Об этом будет следующий пост. Этот пост о программе, которую мы начали делать как пример работы с сервером, но которая вылилась в интересную на наш взгляд концепцию. В статье будет рассказано про Android-приложение, которым можно сфотографировать номер автомобиля… И обругать владельца бранным словом! Ну, или посмотреть статистику того, сколько раз сего автомобилиста обругали.
Те, кому невтерпёж, смогут расковырять работу с сервером из исходников в конце статьи. Остальных подержим пару дней в напряжении, а потом выложим законченный мануал.
Решили мы, собственно, сделать открытый сервер, который бы распознавал номера, приходящие http-запросами. Так как вся идея некоммерческая, то сервер, конечно, слабенький, но на то, чтобы народ игрался, надеюсь, его хватит.
А вот тут крутой поворот сюжета. Пост этот не про протокол обращения к серверу. Об этом будет следующий пост. Этот пост о программе, которую мы начали делать как пример работы с сервером, но которая вылилась в интересную на наш взгляд концепцию. В статье будет рассказано про Android-приложение, которым можно сфотографировать номер автомобиля… И обругать владельца бранным словом! Ну, или посмотреть статистику того, сколько раз сего автомобилиста обругали.
Те, кому невтерпёж, смогут расковырять работу с сервером из исходников в конце статьи. Остальных подержим пару дней в напряжении, а потом выложим законченный мануал.
+100
Reedy – Скорочтение, которое действительно можно использовать
9 min
242KВ последнее время наблюдается рост интереса к скорочтению на основе технологии RSVP. Однако большинство приложений и расширений на эту тему, при более близком знакомстве, увы, оказываются не очень удобны для ежедневного использования. А ведь в потенциале они могу помочь значительно экономить время и быстрее получать информацию. Мой друг OlegCherr решил доработать технологию, создав реализацию пригодную для постоянного использования, а я ему в этом помогаю. После двух месяцев постоянной практики чтения, тестирования, исследований и улучшений решил написать статью с разбором того, что получилось в результате, потому что результат, смею считать, будет интересен и другим. На текущий момент всё выполнено в виде расширения к браузеру Chrome и названо Reedy. Приложение под Android на подходе.
+189
Модульный браслет Bond
2 min
31KМы уже писали, что 23 мая в Москве пройдет наша третья международная мобильная конференция #MBLT14. Там будет более 30 зарубежных и российских докладчиков, среди которых Крис Дрессель — партнер и COO компании Kwamecorp. Продукт Криса показался нам настолько интересным, что мы решили посвятить ему отдельный пост на Хабре.
«Опять браслет? Да сколько можно» — подумали вы. И мы также подумали, пока не прочитали описание. Команда Криса делает браслет с модульной системой, где каждый модуль отвечает за определенную функцию, будь то часы, счетчик шагов, ключи от машины, дополнительная батарея, перечислять можно очень долго потому что… Ну не все сразу.
Черный объект в центре — это и есть модуль, а сам браслет выглядит следующим образом:
Если успели заинтересовать, то просим под кат.
«Опять браслет? Да сколько можно» — подумали вы. И мы также подумали, пока не прочитали описание. Команда Криса делает браслет с модульной системой, где каждый модуль отвечает за определенную функцию, будь то часы, счетчик шагов, ключи от машины, дополнительная батарея, перечислять можно очень долго потому что… Ну не все сразу.
Черный объект в центре — это и есть модуль, а сам браслет выглядит следующим образом:
Если успели заинтересовать, то просим под кат.
+43
Высшая школа экономики открывает программу «Менеджмент игровых интернет-проектов»
2 min
9.5KВысшая школа экономики (ВШЭ) совместно с Высшей школой бизнес-информатики (ВШБИ) запустила программу профессиональной переподготовки «менеджмент игровых интернет-проектов» — первую в России программу профессиональной переподготовки в сфере управления интернет-проектами по разработке компьютерных игр, созданную экспертами-практиками.
+7
Как я писал кастомный локер
11 min
35KПривет хабрастарожилам от хабрановичка. Ровно год назад я решил написать кастомный локер (экран блокировки) для моего старичка Samsung Galaxy Gio в стиле популярного тогда Samsung Galaxy s3. Какие причины заставили меня это сделать, писать не буду, но добавлю лишь то, что в Google Play я программу не собирался выкладывать и каким-либо другим способом заработать на ней не планировал. Данный пост посвящен последствиям моего решения.
+31
Оптимизация Ubuntu (и прочих Linux-ов) под SSD
4 min
204KДоброго времени суток всем читающим. В данной мини-статье мне хотелось бы собрать и рассмотреть основные моменты оптимизации работы (и, конечно, продления жизненного цикла ) твердотельных накопителей. Практически всю информацию можно легко найти в сети, но тут я попытаюсь упомянуть пару подводных камней.
+108
Печать и воспроизведение звука на бумаге
3 min
102KМожно ли закодировать звук в виде изображения, которое считывается камерой и проигрывается в реальном времени?
На ум сразу приходит QR-код или некие его аналоги. В такой код можно записать ссылку на mp3, или даже совсем маленький звуковой файл. Но в первом случае требуется выход в сеть, а во втором — большая плотность кода и повышенные требования к качеству изображения. Кроме того, ни тот ни другой способ не обеспечит мгновенное воспроизведение.
Что, если кодировать звук не в цифровом, а в аналоговом формате? То есть, допустить возможность больших потерь информации с сохранением основных «очертаний» звукового послания. Например, такие потери возникнут при плохом освещении, плохой камере, маленькой картинке, мятой или рваной бумаге с кодом. Пусть со страшными артефактами, но картинка должна звучать.
На ум сразу приходит QR-код или некие его аналоги. В такой код можно записать ссылку на mp3, или даже совсем маленький звуковой файл. Но в первом случае требуется выход в сеть, а во втором — большая плотность кода и повышенные требования к качеству изображения. Кроме того, ни тот ни другой способ не обеспечит мгновенное воспроизведение.
Что, если кодировать звук не в цифровом, а в аналоговом формате? То есть, допустить возможность больших потерь информации с сохранением основных «очертаний» звукового послания. Например, такие потери возникнут при плохом освещении, плохой камере, маленькой картинке, мятой или рваной бумаге с кодом. Пусть со страшными артефактами, но картинка должна звучать.
+201
Создание standalone библиотеки под android
2 min
15KВ этой статье я расскажу как создать библиотеку, которая использует другие библиотеки и при этом уместить всё в одном jar.
Допустим мы пишем библиотеку, она использует другие библиотеки и, в частности, для примера, support library. Если бы мы использовали maven, то в pom файле просто прописали зависимости и не парились. Но что если нашу библиотеку будут использовать люди, которые не пользуются системами сборок или пользуются ant' ом?
Мы можем положить зависимости рядом с нашим jar. Но тогда неизбежны конфликты библиотек разных версий, например, если мы используем одну версию support library, а в самом приложении другая. Тогда придется руками одну из них удалять.
Можно пойти другим путем, вспомним что jar это обычный zip файл. Мы распакуем все зависимости, получим байт-код в виде .class файлов, далее компилируем код нашей библиотеки, кладем все .class файлы в одно место и собираем из них jar. Но если в приложении используются те же библиотеки что и у нас, то получим ошибку что в проекте два одинаковых класса.
Допустим мы пишем библиотеку, она использует другие библиотеки и, в частности, для примера, support library. Если бы мы использовали maven, то в pom файле просто прописали зависимости и не парились. Но что если нашу библиотеку будут использовать люди, которые не пользуются системами сборок или пользуются ant' ом?
Мы можем положить зависимости рядом с нашим jar. Но тогда неизбежны конфликты библиотек разных версий, например, если мы используем одну версию support library, а в самом приложении другая. Тогда придется руками одну из них удалять.
Можно пойти другим путем, вспомним что jar это обычный zip файл. Мы распакуем все зависимости, получим байт-код в виде .class файлов, далее компилируем код нашей библиотеки, кладем все .class файлы в одно место и собираем из них jar. Но если в приложении используются те же библиотеки что и у нас, то получим ошибку что в проекте два одинаковых класса.
+8
Строим motion simulator из палок и синей изоленты
5 min
141KОбычно первый комментарий к статье про какую-то неведомую технологию выглядит так: «Вы бы перед тем как углубляться сначала рассказали что это и зачем нужно». Итак, сия чуднАя периферия призвана при игре в автомобильные симуляторы имитировать воздействие перегрузок на игрока. В данном случае это обеспечивается наклоном кресла по двум осям, следовательно получился симулятор движения с двумя степенями свободы.
+140
Еще раз про стрелочные индикаторы (и совсем без МК)
3 min
58KВсем привет!
Мне сразу очень понравилась статья про стрелочную индикацию загрузки процессора и памяти. Бывает нужно глянуть, сколько осталось свободной памяти, запуская третий-четвертый экземпляр тяжелой программы/игры (не хочется доводить до ситуации, кода предыдущие экземпляры свопятся). Или с загрузкой процессора — раньше я думал, что современные Crysis, Call of Duty, Mass Effect и т.д. грузят и видеокарту, и проц. Теперь я знаю, что даже когда картинка подтормаживает — проц загружен не больше 30-40%. Ну или с ходу оценить, все ли ядра использует рендеринг. А какое удовольствие глазу доставляют дергающиеся стрелочки.
Вторая реализация хоть и так же наглядна, но в душу не запала — нет той зрелищности.
Поэтому я решил — когда-нибудь непременно повторю со стрелками.
Единственная проблема, из-за которой я не сделал это сразу — этолень отсутствие индикаторов конечно. И вот, разбирая старый-старый хлам в старом-старом шкафу, я нашел ИХ.
Мне сразу очень понравилась статья про стрелочную индикацию загрузки процессора и памяти. Бывает нужно глянуть, сколько осталось свободной памяти, запуская третий-четвертый экземпляр тяжелой программы/игры (не хочется доводить до ситуации, кода предыдущие экземпляры свопятся). Или с загрузкой процессора — раньше я думал, что современные Crysis, Call of Duty, Mass Effect и т.д. грузят и видеокарту, и проц. Теперь я знаю, что даже когда картинка подтормаживает — проц загружен не больше 30-40%. Ну или с ходу оценить, все ли ядра использует рендеринг. А какое удовольствие глазу доставляют дергающиеся стрелочки.
Вторая реализация хоть и так же наглядна, но в душу не запала — нет той зрелищности.
Поэтому я решил — когда-нибудь непременно повторю со стрелками.
Единственная проблема, из-за которой я не сделал это сразу — это
+49
Particles System в моделировании толпы
8 min
11Kмногие идеи, которые приходят ко мне, уже кто-то реализовал или скоро реализует (цитата с просторов интернета)
В далеком 2001 году меня, любителя стратегий реального времени, поразила игра “Казаки”. Поразила ГИГАНТСКИМИ толпами, бродящими по карте. Поразило то, что эти толпы довольно резво бегали на тогдашних маломощных компьютерах. Но в то время я работал на скорой помощи, был далек от программирования, потому восхищением дело это тогда и ограничилось.
Уже в наше время захотелось сделать игрушку с примерно подобным количеством подвижных юнитов — чтоб “эпик” просто зашкаливал(!). И чтоб эти юниты не просто двигались, а двигались внешне(!) осмысленно. И чтоб (главное), все это великолепие работало на слабеньких мобильных платформах.
Встал вопрос — как? С графикой вопросов нет — на любой современной платформе есть разные по-произодительности графические библиотеки, которые займутся выводом толпы на экраны. Главный вопрос — как программно реализовать осмысленное (ну или бессмысленное) нечто, что игроком воспринималось бы однозначно — это подчиняющаяся каким-то стимулам толпа, а не просто набор мельтешащих фигурок.
Уверен, существует куча рекомендаций, литературы, и даже реализаций. Но меня интересовало что-то “простенькое”, что можно применить в незатейливой игрушке для “мобилы” и собрать “на коленке”. Т.е. дешево и сердито, а главное — понятно для меня(!).
+21
Information
- Rating
- 1,421-st
- Location
- Самара, Самарская обл., Россия
- Date of birth
- Registered
- Activity