Как стать автором
Обновить
27
0
Артур @avrfun

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

Отправить сообщение

Наём VS Аутсорсинг (в проектах малого бизнеса)

Время на прочтение7 мин
Количество просмотров3.4K
В рамках нашего проекта Unicloud мы попробовали как модель найма в проект собственных специалистов, так и работу с отдельными фрилансерами и компаниями на подряде. В топике мы рассуждаем о полученных результатах и их глубинных причинах.

Часто можно услышать мнение, что в России аутсорсинг не прижился и является столь же редким явлением, как и амурские тигры. Причин называется много: и боязнь «слить» свою информацию малоизвестным третьим лицам, и малое предложение таких услуг (как следствие – высокая цена), и недостаточно высокое качество. Среди причин часто упоминают невозможность наорать матом на находящегося на аутсорсинге исполнителя и заставить его работать сверхурочно до 23 часов без доплаты, только потому, что «так надо». То же и с безопасностью – «своего» сотрудника может припугнуть собственная служба безопасности так, что он не только сам не продаст никакой информации конкуренту, но и сдаст в СБ своих коллег, которые уже это сделали.

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

Мой опыт разработки игры под Android. Часть первая

Время на прочтение5 мин
Количество просмотров12K
Добрый день, коллеги! На Хабре достаточно часто появляются посты про разработку первых Android-приложений, и я решил также поделиться своим опытом. Это мой первый писательский опыт на Хабре и моя первая игра, поэтому прошу строго не судить.

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

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

Нейросетевое сжатие данных

Время на прочтение7 мин
Количество просмотров24K
imageВ этой статье я хочу поведать о еще одном классе задач, решаемых нейронными сетями – сжатии данных. Алгоритм, описанный в статье, не претендует на использование в реальных боевых условиях по причине существования более эффективных алгоритмов. Сразу оговорюсь, что речь пойдет только о сжатии без потерь.
Большинство источников в Интернете утверждают, что есть 3 основных популярных архитектур нейронных сетей, решающих задачу сжатия данных.

1. Сеть Кохонена и ее вариации. Часто используется для сжатия изображений с потерей качества, не является алгоритмом сжатия без потерь.

2. Ассоциативная память (Сеть Хопфилда, Двунаправленная ассоциативная память и др.). «Сжатие данных» для этого класса сетей является «фичей», побочным явлением, так как главным их предназначением есть восстановление исходного сигнала/образа из зашумленных/поврежденных входных данных. Чаще всего, на вход этих сетей поступает зашумленный образ той же размерности, потому о сжатии данных речь не идет.

3. Метод «Бутылочного горлышка».

О последнем методе и пойдет речь в статье.
Читать дальше →

Инструкция-шпаргалка для начинающих

Время на прочтение2 мин
Количество просмотров134K
Если в один прекрасный момент вам ударило в голову желание насадить разумное, доброе, вечное, и пересадить всех с SVN на GIT, сразу встают три проблемы:
  • Объяснить зачем это нужно разработчикам и руководству
  • Ввести в обиход новую схему работы с кодом
  • Научить ничего не подозревающих девелоперов новым техникам
Читать дальше →

Дерево ван Эмде Боаса

Время на прочтение6 мин
Количество просмотров19K
Всем доброго времени суток!

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

Дерево ван Эмде Боаса (van Emde Boas tree) — ассоциативный массив, который позволяет хранить целые числа в диапазоне [0; U), где U = 2k, проще говоря, числа, состоящие не более чем из k бит. Казалось бы, зачем нужно еще какое-то дерево, да еще позволяющее хранить только целые числа, когда существует множество различных сбалансриованных двоичных деревьев поиска, позволяющих выполнять операции вставки, удаления и прочие за O(log n), где n — количество элементов в дереве?

Главная особенность этой структуры — выполнение всех операций за время O(log(log(U))) независимо от количества хранящихся в ней элементов.

Что же там еще есть такого вкусного?

В октябре начнется добровольная сертификация интернет-магазинов

Время на прочтение2 мин
Количество просмотров1.1K
Немало шума наделала история с попаданием данных о покупателях более 80 интернет-магазинов в свободный доступ. По свежим следам Ассоциация дистанционной торговли и Роскомнадзор создают технический совет, главная миссия которого – рассказать владельцам интернет-магазинов, как можно надежно защищать персональные данные пользователей.

Решение о создании техсовета было принято на встрече Романа Шередина (замруководитель Роскомнадзора) и Александра Иванова (президент Ассоциации дистанционной торговли). В состав совета войдут представители ассоциации, интернет-магазинов, чиновники, возможно, представители «Яндекс» и «Google» (приглашения отправлены). Техсовет будет специализироваться на разработке рекомендаций по защите персональных данных покупателей.

А здесь самое интересное…

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

Правила технического задания

Время на прочтение3 мин
Количество просмотров97K
В большинстве крупных организаций внутрифирменные отношения «пользователь-отдел IT» неизбежны, особенно при создании рабочих приложений, необходимых пользователю на постоянной основе. Сложность этих отношений может быть обусловлена многими факторами, но чаще всего это непонимание, возникающее из-за того, что стороны говорят на разных «языках» с различной терминологией. Пользователь понимает, что он хочет, но не может это сформулировать, IT-специалист понимает пользователя, но опасается, что результат выйдет иным, чем видит это первый. Чаще всего проблема начинается с того, что именно пользователь не готов к диалогу: он требует «чтобы работало», «отчет одной кнопкой», «чтобы за минуту выводилось», «чтобы даты в Excel не вылезали» и прочее. При этом его совершенно не интересует, каким образом это делается и какие механизмы работают. На заявления о нагрузке на сервер, просьбы нарисовать схему желаемого результата, обсудить пути решения пользователь не реагирует, полагая, что настоящий профессионал со всем справится. Результаты такого непонимания вредят всему производственному процессу: затягиваются сроки решения задач, возникают ошибки и пробелы в системах, которые нужны пользователю, страдает перегруженный неверными действиями сервер, скорость работы снижается.

Одним из способов разрешения такого конфликта является написание задания на проект – технического задания, которое предполагает полное и точно изложение требований внутрифирменного заказчика и является своеобразной инструкцией для IT -специалиста.
Читать дальше →

Обзор бесплатных инструментов для аудита web-ресурсов и не только

Время на прочтение4 мин
Количество просмотров40K

Вопрос безопасности всегда будет актуальным, особенно в Сети. По этому, чтобы в один прекрасный день не получить на своем ресурсе такую картинку нужно уметь проверять на предмет уязвимостей себя самого.

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

У статьи довольно низкий порог вхождения для понимания и использования, по этому, надеюсь, придется по душе многим. Раскрывается лишь базовый функционал программ.

В злых целях знания использовать не буду!

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

Время на прочтение12 мин
Количество просмотров165K
Компания 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.
Читать дальше →

Anti Rework: Путь от стартапа до бизнеса

Время на прочтение5 мин
Количество просмотров22K
Мое дело - бухгалтерия онлайн Полтора года назад я нажал кнопку «Опубликовать» и в блоге «Я Пиарюсь» появилась статья, определившая судьбу сервиса, являющегося сегодня лидером на российском b2b SaaS рынке. С тех пор изменилось многое: позиционирование, дизайн, размер компании, город дислокации, но главное осталось прежним. Мы делаем бухгалтерию малого бизнеса удобной, понятной, обеспечиваем клиентам высокий уровень сервиса и поддержку специалистов-экспертов.

Моё дело — это бухгалтерия онлайн, в которой есть всё необходимое для ООО или ИП, находящихся на упрощённой или вменённой системе налогообложения.

Под катом расскажу о главных моментах, позволивших нам за полтора года вырасти от стартапа с 4-мя сотрудниками до компании с представителями в 40 регионах России, засветившейся на РТР, Эхе Москвы, Ведомостях и Форбсе. Еще я напишу, чем мы отличаемся от наших конкурентов, и дам промокод на скидку.
Читать дальше →

Аналого-цифровое преобразование для начинающих

Время на прочтение8 мин
Количество просмотров612K
В этой статье рассмотрены основные вопросы, касающиеся принципа действия АЦП различных типов. При этом некоторые важные теоретические выкладки, касающиеся математического описания аналого-цифрового преобразования остались за рамками статьи, но приведены ссылки, по которым заинтересованный читатель сможет найти более глубокое рассмотрение теоретических аспектов работы АЦП. Таким образом, статья касается в большей степени понимания общих принципов функционирования АЦП, чем теоретического анализа их работы.

"

Введение

В качестве отправной точки дадим определение аналого-цифровому преобразованию. Аналого-цифровое преобразование – это процесс преобразования входной физической величины в ее числовое представление. Аналого-цифровой преобразователь – устройство, выполняющее такое преобразование. Формально, входной величиной АЦП может быть любая физическая величина – напряжение, ток, сопротивление, емкость, частота следования импульсов, угол поворота вала и т.п. Однако, для определенности, в дальнейшем под АЦП мы будем понимать исключительно преобразователи напряжение-код.

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

Обзор шины SPI и разработка драйвера ведомого SPI устройства для embedded Linux (Часть вторая, практическая)

Время на прочтение15 мин
Количество просмотров49K
Это вторая часть моей статьи по разработке драйверов для ведомых SPI устройств в Linux. Предыдущая часть находится здесь.

3. Разработка userspace протокольного SPI драйвера с использованием spidev


Как уже было сказано выше, для SPI устройств существует ограниченная поддержка userspace API, с поддержкой базовых полудуплексных read() и write() вызовов для доступа к ведомым SPI устройствам. Используя ioctl() вызовы, можно производить полнодуплексный обмен данными с ведомым устройством, а также изменение параметров устройства.
Читать дальше →

Обзор шины SPI и разработка драйвера ведомого SPI устройства для embedded Linux (Часть первая, обзорная)

Время на прочтение13 мин
Количество просмотров185K
В этой статье я хочу провести краткий обзор шины SPI (интерфейса, широко распространённого во встраиваемой технике, используемого для подключения различных устройств) и попытаюсь описать процесс создания драйвера протокольного уровня SPI устройства для Linux. Данный документ не претендует на роль полного руководства, а скорее преследует цель указать нужное направление. Так как статья не вошла в размер одного топика, мне пришлось разбить её на две части.

0. Вместо введения


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

Для кого эта статья?
В первую очередь, для новичков, каковым являюсь и я. На форумах по embedded Linux очень часто можно встретить вопрос: «А как на этой плате работать с SPI?». Именно на него я и попытаюсь дать ответ. В качестве примера, я приведу код написанный для работы с моим тестовым SPI устройством.
Читать дальше →

Вышел Voyage Linux 0.7.5

Время на прочтение2 мин
Количество просмотров5.8K
Поискал по Хабру, про Voyage ни слуху ни духу. А сегодня как раз вышел очередной релиз этого очень интересного дистрибутива на основе Debian для embedded систем.

Версия 0.7.5 основана на ядре 2.6.38 и Debian 6.0.2 «Squeeze».

Следующая планируемая версия 0.8, в которую войдет ядро 3.0.x, и Voyage станет одним из первых дистров на этом ядре.

Voyage заточен на работу на следующих платформах: PC Engines ALIX/WRAP, Soekris 45xx/48xx и Atom, а также виртуальные машины.

Отличается Voyage низкими требованиями к ресурсам. Для типичной инсталляции требуется всего 128MB дискового пространства. А вообще фишка Voyage в том, что он использует unioinfs и монтирует всю систему на read-only, таким образом, система на флешке не запиливается.

Обычно на Voyage делают брэндмауэр, беспроводную точку доступа, IP АТС на базе Asterisk, музыкальный проигрыватель, или сетевое хранилище. Лично у меня Voyage работает на ALIX board с тремя ethernet портами и WiFi картой, является точкой доступа в Internet для офиса (eth0), при этом подключено два провайдера (eth1 & eth2) по PPPoE, один для данных, другой для IP телефонии. Voyage раздает WiFi, и к нему подключены офисный IP телефоны (установлен Asterisk). Покупалось это все тут, но дистрибутив Askozia был снесен и установлен Voyage.

Выглядит коробочка так:
image

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

EchoPrint — открытая система распознавания музыки

Время на прочтение4 мин
Количество просмотров248K
Наверняка многие из вас слышали и знают про системы идентификации музыки вроде TrackID, Shazam, MusicBrainz или онлайновой Audiotag.info, позволяющие по записанному отрывку песни узнать ее название. Все они в достаточной степени хороши, но имеют общий недостаток — закрытый код и, соответственно, ограниченную сферу применения. TrackID вы можете использовать только на телефонах Sony Ericsson, Shazam — тоже только на телефонах, хотя и на более обширном списке платформ, а Music Brainz вообще неясно, работает ли вообще.

Ребята же из компании Echo Nest, решили, что распознавание музыки должно быть таким же доступным миру явлением, как электронная почта или DNS :), и выпустили своё детище полностью под MIT License. А детище, надо сказать, у них очень серьёзное — еще бы, если основателями компании являются доктора наук из MIT Media Lab .

Тот зверьфункционал, который они выпустили на свободу, не ограничивается только распознаванием музыки по записанному отрывку, но и позволяет делать такие вещи, как поиски дубликатов музыки, массовое распознавание и заполнение тэгов в музыкальных коллекциях, проверка аудио/видео на содержание того или иного материала, синхронизация коллекций из различных музыкальных пространств (iTunes <-> Last.fm <-> Spotify, например) и много чего еще.

Подробнее

Параллельные вычисления по сети на Си

Время на прочтение22 мин
Количество просмотров13K
Добрый день, хабражители! Недавно мне пришлось написать программу для параллельного вычисления определённого интеграла. Естественно, после окончания работы был приобретен некий опыт, и я хотел бы поделиться этим опытом с вами. Сразу скажу, что в рамках статьи я не буду рассматривать парсинг интегрируемой функции, а заострю внимание на взаимодействии тредов и компьютеров между собой.

Постановка задачи


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

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

Создание и использование динамических библиотек, написанных на различных языках (C/C++, Pascal)

Время на прочтение5 мин
Количество просмотров86K

Задача


Передо мной возникла задача написать загрузчик библиотек, имеющий возможность предоставить какие-то интерфейсные функции внешней динамической библиотеке. Решение должно быть максимально кроссплатформенно (как минимум, работать на Linux и Windows). Загружаться должны библиотеки, написанные на различных языках программирования, поддерживающих создание динамических библиотек. В качестве примера были выбраны языки C и Pascal.

Решение


Основной загрузчик библиотек написан на языке C. Для того, чтобы загружаемые библиотеки имели возможность использовать функции основной программы, основная программа разделена на 2 части: на основной и подгружаемый модули. Основной модуль нужен просто для запуска программы, подгружаемый модуль — это также динамическая библиотека, связываемая с основным модулем во время его запуска. В качестве компиляторов были выбраны gcc (MinGW для Windows) и fpc.
Здесь будет приведён упрощённый пример программы, позволяющий разобраться в данном вопросе и учить первокурсников писать модули к своей программе (в школе часто преподают именно Pascal).
Читать дальше →

Документирование по ГОСТ 34* — это просто

Время на прочтение12 мин
Количество просмотров497K
Сегодня мы поговорим об отечественных стандартах на проектную документацию. Как эти стандарты работают на практике, чем они плохи и чем хороши. При разработке документации для государственных и серьезных частных заказчиков у нас обычно нет выбора — в требования по документированию ТЗ вписано соблюдение стандартов. На практике мне приходилось сталкиваться с различными примерами недопонимания структуры стандартов, того, что должно быть в документах и зачем эти документы нужны. В итоге из-под пера техписателей, аналитиков и специалистов выходят порой такие перлы, что непонятно, в каком состоянии сознания они писались. А ведь на самом деле все достаточно просто. Поиск по Хабру не вернул ссылок на более-менее целостный материал на данную тему, потому предлагаю закрасить этот досадный пробел.
Читать дальше →

Dataflow-архитектуры. Часть 1

Время на прочтение6 мин
Количество просмотров38K

Вторая часть статьи.
Большинство современных вычислительных машин, будь то суперкомпьютер Fujitsu K, обычная персоналка или даже калькулятор, объединяет общий принцип работы, а именно модель вычислений, основанная на потоке управления (Controlflow). Однако, эта модель не является единственно возможной. В некотором роде ее противоположностью является модель вычислений, управляемая потоком данных, или просто Dataflow. О ней я и хочу сейчас рассказать.
Читать дальше →

«Выглядит похоже». Как работает перцептивный хэш

Время на прочтение6 мин
Количество просмотров126K
За последние несколько месяцев несколько человек спросили меня, как работает TinEye и как в принципе работает поиск похожих картинок.

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

Информация

В рейтинге
Не участвует
Откуда
Красноярск, Красноярский край, Россия
Дата рождения
Зарегистрирован
Активность