Search
Write a publication
Pull to refresh
39
0
Илья Моторный @Elmot

Программист

Send message

Строим защищённую систему на основе TOR и I2P

Reading time5 min
Views77K

Введение


В этом посте я попробую расписать по шагам о том, как построить защищённую систему для безопасного приёма, передачи, хранения и обработки конфиденциальных и иных опасных данных. Ни для кого не секрет, что сейчас различные лица и организации пытаются удушить свободу как самого интернета, так и его пользователей, и зачастую им это удаётся. Поэтому сейчас мы попробуем соорудить небольшую, но прочную крепость внутри нашего компьютера.

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

Создание простой 2D игры на Android

Reading time10 min
Views375K
Доброго дня всем!

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

Нейросети для чайников. Начало

Reading time5 min
Views809K


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

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

Заинтересовавшихся прошу под кат.
Читать дальше →

Плотностный алгоритм кластеризации пространственных данных с присутствием шума — DBSCAN

Reading time3 min
Views17K
Доброго времени суток!
Хотел бы с вами поделиться реализацией в MATLAB плотностного алгоритма для кластеризации пространственных данных с присутствием шума — DBSCAN (Density Based Spatial Clustering of Applications with Noise).

Особенности


Алгоритм DBSCAN был предложен Мартином Эстер, Гансом-Питером Кригель и коллегами в 1996 году как решение проблемы разбиения (изначально пространственных) данных на кластеры произвольной формы. Большинство алгоритмов, производящих плоское разбиение, создают кластеры по форме близкие к сферическим, так как минимизируют расстояние документов до центра кластера. Авторы DBSCAN экспериментально показали, что их алгоритм способен распознать кластеры различной формы.
Читать дальше →

Kickstarter — это способ избежать финансовых рисков и не отдавать долю в своем проекте

Reading time3 min
Views20K


В настоящее время интернет полон историями успеха, как проекты засветившиеся на Kickstarter’e, получают несколько миллионов долларов (Pebble – 7 млн$, Double fine Adventure – 3,3 млн$). Суммы в несколько миллионов — по-настоящему серьезные инвестиции, удивляет, что это деньги не специальных инвестиционных фондов, а простых граждан.

Всегда задаюсь вопросом, как команды, представляющие свои проекты на Kickstarter, делают такие прекрасные промо-видео ролики. Несмотря на то, что ролики до банальности просты: «Фокусировка крупным планом на лидере проекта, смотрящем в даль, много афоризмов и клише, выступление всей команды, видеоряд с рабочими местами, зажигательная музыка.»
Читать дальше →

Модуль Bluetooth HC-04 на чипе BC417143B компании CSR

Reading time12 min
Views165K
Компания CSR (Cambridge Silicon Radio) выпускает специальные чипы для устройств BlueTooth. Чипы судя по всему довольно недорогие, потому что господа китайцы предлагают миниатюрные (размером несколько больше симкарты) платки Bluetooth HC-04 на основе чипа BC417143B (семейство BlueCore4, см. [1]), которые в России можно купить всего лишь за 6.6 доллара (через dealextreme.com, см. [2] и [3]).

image

По умолчанию в память FLASH платки HC-04 записано ПО, которое позволяет связать по радио Bluetooth любой наладонник (или телефон, ноутбук и т. п.) со встраиваемой системой на основе микроконтроллера (робот, плата Arduino, любое устройство на микроконтроллере, имеющее TTL-порт UART RS-232). С помощью пакета CSR CASIRA BLUELAB SDK (в котором есть рабочие примеры программ Bluetooth) можно самому перепрограммировать модуль HC-04 и создавать свои собственные устройства Bluetooth. Программатор и полноценный аппаратный отладчик для модуля можно легко сделать самому, подключается к компьютеру он через порт LPT (см. [4]). В предлагаемой статье краткое описание инструментария разработки для чипов семейства BlueCore компании CSR, которое можно использовать для быстрого начала написания своих программ для модуля HC-04.
Читать дальше →

Использование классов в JavaScript

Reading time11 min
Views39K
Методы создания классов на JavaScript уже не раз обсуждались по всему рунету и на хабре в том числе, я решил найти немного иной подход к созданию классов, приближенный к реальным классам. Одно важное отличие от других реализаций описанных во многих статьях, это возможность создавать аксессоры (setter's/getter's). Которые будут работать не только в современных браузерах, но и в долгоживущем IE ниже 9-ой версии. Об этом читайте ниже.

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

Бесплатный VPN от Comodo

Reading time2 min
Views207K
В свете ожидающегося послевыборного закручивания интернет-гаек в наше стране, хотелось бы рассказать о бесплатном VPN от Comodo Group.
Comodo TrustConnect — простой в регистрации, установке и использовании сервис VPN со 128-битным шифрованием, от солидной компании, которой, в отличие от других бесплатных VPN-провайдеров, вполне можно довериться. Для тех кто не в курсе, такой VPN очень полезен при использовании открытого WiFi в публичных местах (например, при посещении сайтов, у которых до сих пор нет https). Также с помощью VPN предотвращается прослушка и фильтрация трафика провайдером, кровавой гэбнёй или админом на работе.
Читать дальше →

Bluetooth в Linux

Reading time3 min
Views54K

1. Вступление


А вы знаете, что настроить bluetooth соединение с PC на Linux совсем не сложно?
Итак, сейчас мы создадим подключение к телефону\PDA, примонтируем файловую систему телефона к оной на ПК и создадим GPRS\EDGE подключение.

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

STM32F1хх — продолжаем лечение от ардуинозависимости при помощи LCD

Reading time14 min
Views127K
Добрый день, уважаемые хабровчане. В своей прошлой статье я рассмотрел применение замечательных микроконтроллеров STM32F1xx на примере управления сервоприводами. В этой статье мы обратимся к более интересному вопросу – управлению цветным графическим LCD-дисплеем. Помимо стандартной работы с дисплеем я постараюсь осветить вопросы использования особенностей микроконтроллеров STM32F для эффективного решения данного вопроса. Итак, начнем.
Читать дальше →

Знакомство с TCP стеком для микроконтроллеров фирмы Microchip

Reading time8 min
Views70K
Предположим, у нас возникла необходимость в создании устройства с возможностью подключения к сети Ethernet. Вариантов имеется довольно много, но все их можно условно разделить на 3 вида.
Читать дальше

Simplify.js — JavaScript-библиотека для упрощения ломаных линий

Reading time2 min
Views10K
Рад представить вашему вниманию еще одну крохотную, но полезную open-source-утилиту своего авторства — Simplify.js.



Simplify.js — очень быстрая реализация упрощения ломаных линий на JavaScript. Изначально написав ее для Leaflet (библиотеки для интерактивных карт), после небольшого эксперимента по оптимизации захотелось выпустить ее в качестве отдельной библиотеки без зависимостей, которую можно использовать как в браузере, так и на серверных платформах, таких, как Node.js, и применять и для 2D, и для 3D-точек.

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

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

Наголовный компьютер под управлением Linux — собери сам!

Reading time5 min
Views9.2K
В данной статье речь пойдет о самодельном наголовном компьютере с трудновыговариваемым названием WXHMD, созданном парижским умельцем по имени Паскаль. Это одноплатный компьютер (computer-on-module) Gumstix Overo Fire, укрепленный на наголовном дисплее Vuzix VR920. В итоге получилось устройство, дающее стереоскопическое изображение 640x480, имеющее аудиовход и аудиовыход, 3D-сенсоры наклона (3D tilt sensor), 3D магнитный компас, процессор TI OMAP3530 @ 600 MHz, ОС Linux, WiFi, Bluetooth. Питание — 1 ампер @ 3.7 вольт. Вес — 180 граммов.
Читать дальше →

Maximite — Ностальгия с паяльником по временам Радио-86РК и Спектрума

Reading time3 min
Views17K
Некоторое время назад я наткнулся на интересный проект — Maximite.

Это микрокомпьютер на базе Microchip PIC32 со встроенным Бейсиком. Прелесть тут в том, что собрать его можно за пару часов.

image

По возможностям он немного мощнее Радио-86РК и классического Спектрума. Но вот периферия у него сказочная: SD/FAT карточка, USB, VGA, PS/2, таймеры, RS232, I2C, SPI, PWM, ADC/DAC и просто одиночные порты-пины общего назначения.

Если собирать на макетной плате, то цена будет, по заявлению автора, менее десяти австралийских долларов.

Подробности

Высокопроизводительный NIO-сервер на Netty

Reading time9 min
Views130K
Преамбула

Здравствуйте. Я являюсь главным разработчиком крупнейшего в СНГ сервера Minecraft (не буду рекламировать, кому надо, те знают). Уже почти год мы пишем свою реализацию сервера, рассчитанную на больше чем 40 человек (мы хотим видеть цифру в 500 хотя бы). Пока всё было удачно, но последнее время система начала упираться в то, что из-за не самой удачной реализации сети (1 поток на ввод, 1 на вывод + 1 на обработку), при 300 игроках онлайн работает более 980 потоков (+ системные), что в сочетании с производительностью дефолтного io Явы даёт огромное падение производительности, и уже при 100 игроках сервер в основном занимается тем, что пишет/читает в/из сети.

Поэтому я решила переходить на NIO. В руки совершенно случайно попала библиотека Netty, структура которой показалась просто идеально подходящей для того, чтобы встроить её в уже готовое работающее решение. К сожалению, мануалов по Netty мало не только на русском, но и на английском языках, поэтому приходилось много экспериментировать и лазить в код библиотеки, чтобы найти лучший способ.

Здесь я постараюсь расписать серверную часть работы с сетью через Netty, может быть это кому-то будет полезно.
Читать дальше →

Не желаешь выкинуть ардуину?

Reading time1 min
Views6.7K
image Если тебе надоело в наш век повальной 32-битности возиться с древней как дерьмо мамонтатеплой ламповой восьмибитной ардуиной — у тебя есть уникальный шанс! Microchip совместно с DesignSpark дают тебе шанс совершенно бесплатно получить плату, совместимую по размерам и контактам с Ардуино, но имеющую на борту 32-битный микроконтроллер плюс уйму всяких ништяков.
Читать дальше →

Simpliste: засучим рукава

Reading time3 min
Views5.5K

После моего поста в прошлый четверг не осталось сомнений в том, что простой и бесплатный шаблон (кто-то даже называет фреймворк) с адаптивной версткой на HTML5 вызывает интерес у потенциальных пользователей. Пост даже собрал достаточно голосов, чтобы НЛО разрешило мне пригласить кого-нибудь на Хабрахабр.

Нужно напомнить, что Simpliste — именно такой шаблон. И теперь работа по его развитию пойдет полным ходом.

Одним из преимуществ Simpliste я считаю наличие готовых тем оформления. Сразу, в момент запуска существовало 3 темы. Постепенно я создал еще несколько.
Читать дальше →

Information

Rating
Does not participate
Registered
Activity