Как стать автором
Обновить
0
0
Виктор Карамзин @theVisor

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

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

Создание умного дома и разработка своего протокола

Время на прочтение5 мин
Количество просмотров180K
Сразу скажу, что пост ориентирован скорее на обычных людей, чем на тех, кто в теме, и является скорее отчётом того, чем я занимался в последние дни.

Я тут решил забить на всю работу и заняться чем-то для души. Снова взялся за паяльник. Решил автоматизировать дома всё и вся. На старой-то квартире у меня был умный дом или что-то типа того — мог свет в комнате включать через Интернет и всё такое.

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

Было решено, что лучше делать много отдельных устройств, каждое из которых отвечает за строго определённую задачу, имея возможность с лёгкостью подключать их к какой-то общей сети. И чтобы у каждого устройства был адрес и свой набор команд. Что-то вроде CAN-шины в современных автомобилях. При этом хочется, чтобы сеть была децентрализованной, без мастер-устройства, чтобы соединялись все по одному проводу, легко реализовывалось без покупки дополнительного контроллера, ну и чтобы длинные провода не были проблемой.

На борту микроконтроллера есть всякие I²C, да UART, но они явно не удовлетворяют условиям. В итоге было решено разработать свой велосипед протокол.



Читать дальше →
Всего голосов 77: ↑69 и ↓8+61
Комментарии99

Мелкосерийное производство несложной электроники: в России или в Китае?

Время на прочтение3 мин
Количество просмотров161K
Недавно я разработал одно простое устройство. Пришлось решать вопрос, как изготовить пробную партию в 50 плат. Думаю, этот опыт будет полезен всем DIY энтузиастам, кто уже думает о том, что делать дальше после того, как девайс готов.

Замечу, что настоящая заметка — это не маркетинговое исследование или что-то подобное, претендующее на объективное освещение вопроса. Это исключительно один частный личный опыт.
Читать дальше →
Всего голосов 87: ↑79 и ↓8+71
Комментарии134

Презентация средствами HTML5

Время на прочтение3 мин
Количество просмотров14K
image
Обратил внимание, что в настоящее время программисты Google начали использовать новую форму представления своих презентаций.

Типичный пример, еще пример — мы видим фреймы, эффекты, изображения, общий стиль.

Несложный поиск привел к удобному шаблону, который при своей простоте позволяет создавать неплохие презентации с легко внедряемыми элементами
Читать дальше →
Всего голосов 114: ↑110 и ↓4+106
Комментарии40

Офис компании Boomburum

Время на прочтение19 мин
Количество просмотров410K
image

Осторожно, трафик! Но можно хотя бы посмотреть картинки )

   Идея создать дома свой «рабочий кабинет» у меня зрела давно – как-то сам дошел до осознания его необходимости, хотя немалый вклад в начинания сделал этот давний пост на Хабре. У меня было своё рабочее место – большой удобный стол, где помещалось практически всё и даже больше… но, по сути, он был проходным двором – все время кто-то ходил, был рядом, отвлекал… такое очень часто мешает сосредоточиться и начать работать. Иногда, бывает, сидишь весь вечер за компом и понимаешь, что абсолютно ничего не сделал, хотя родным заявил «так, мне надо поработать».
Читать дальше →
Всего голосов 738: ↑625 и ↓113+512
Комментарии437

Карьера в IT

Время на прочтение9 мин
Количество просмотров35K
Что является основным критерием карьерного успеха? Как попасть на желанную работу, если недостаточно опыта? В этой статье я попытался ответить на эти и другие вопросы, связанные с карьерой IT-специалиста.

Читать дальше →
Всего голосов 192: ↑167 и ↓25+142
Комментарии145

Talk on the Run. Говорящий программист

Время на прочтение4 мин
Количество просмотров1K
Я довольно давно сижу в глубоко эшелонированном тылу IT-контор, успешно шесть лет прикидываясь блондинкой и внедряя ростки психологического знания и коммуникативных навыков в программерские головы всех видов и мастей.
И вот дозрела поделиться тем, зачем, собственно, говоря, я это делаю, и как именно.

Зачем?

  • Большинство проектов, с которыми мне приходится сталкиваться, устроены по принципу двух-трех-уровневой иерархии, причем наверху пищевой цепочки находятся серьезные боссы, управляющие серьезными клиентами, а внизу – кодеры за еду разной степени продвинутости. В золотой середине сидят тимлиды, они же техлиды, они же координаторы, на которых, собственно говоря, и ложится основная ответственность за реальный value и реальный delivery.
  • Эти люди чаще всего – собственный продукт компании, начинавшие как молодая шпана, прошедшие длинный путь развития, и при этом – они категорически не рвутся превращаться в больших начальников, поскольку свежий ветер еще шумит у них в голове, и отрываться от своей, любовно возделанной на .NET грядки, им совсем даже не хочется.
  • Тем не менее – к ним приходят и говорят: у тебя растут года, парень, пора руководить, че.

Читать дальше →
Всего голосов 144: ↑126 и ↓18+108
Комментарии146

sketchometry — динамическая геометрия в браузере

Время на прочтение5 мин
Количество просмотров16K
sketchometry — это интерактивная динамическая геометрия, веб приложение, разработанное на базе библиотеки JSXGraph. Эта статья является учебным пособием по её использованию.
Текст и много картинок
Всего голосов 46: ↑40 и ↓6+34
Комментарии3

Рендеринг WEB-страницы: что об этом должен знать front-end разработчик

Время на прочтение6 мин
Количество просмотров227K
Приветствую вас, уважаемые хабравчане! Сегодня я бы хотел осветить вопрос рендеринга в веб-разработке. Конечно, на эту тему уже написано много статей, но, как мне показалась, вся информация довольно разрознена и отрывочна. По крайней мере, чтобы собрать всю картину в своей голове и осмыслить её, мне пришлось проанализировать немало информации (в основном — англоязычной). Именно поэтому я решил формализовать свои знания в статью, и поделиться результатом с сообществом Хабра. Думаю, информация будет полезна как начинающим веб-разработчикам, так и более опытным, чтобы освежить и структурировать свои знания.

Данное направление можно и нужно оптимизировать на этапе вёрстки/frontend-разработки, поскольку, очевидно, что разметка, стили и скрипты принимают в рендеринге непосредственное участие. Для этого соответствующие специалисты должны знать некоторые тонкости.
Читать дальше →
Всего голосов 121: ↑110 и ↓11+99
Комментарии42

Построение нейронных сетей в php используя FANN, пример реализации

Время на прочтение5 мин
Количество просмотров82K
Передо мной предстала задача анализа большого количества информации и выявления закономерностей. И первое, что пришло в голову — построить математическую модель с помощью нейронной сети.

Поскольку данные для анализа формируются в php и мне этот язык сейчас ближе всего, то искалась библиотека с интерфейсом для php. В связи с этим мне порекомендовали FANN (Fast Artificial Neural Network) — открытое программное обеспечение для построения сетей. У этого решения есть апи для 15 языков, так что почти каждый сможет выбрать что-то для себя.

Пример. Распознавание языка текста на странице

Для примера возьмем задачу легкую, но недалекую от нашей реальности и от серьезных задач. Допустим есть 1000 документов, на 3-х разных языках. Пусть это будут французский, английский и польский. Наша задача научить нейронную сеть распознавать язык документа. Для этого мы используем самый простой частотный механизм. Но тем не менее его результаты неплохи. Его суть в том, что у каждого языка с разной частотой в тексте встречаются одни и те же символы. Мы подготавливаем 3 больших куска текста для каждого из языков (английский, французкий, польский), посчитаем для каждого символа частоты. Эти данные мы передадим в нейронную сеть, с указанием какой набор частот принадлежит каждому из языков. Дальше нейронная сеть все сделает сама.
Читать дальше →
Всего голосов 36: ↑32 и ↓4+28
Комментарии19

Подборка полезного для любителей Twitter Bootstrap

Время на прочтение2 мин
Количество просмотров250K
В подборке сервисы, плагины, темы и другие полезности, облегчающие работу с Twitter Bootstrap.

Стилизация


BootSwatchr — быстрая стилизация Twitter Bootstrap.

Читать дальше →
Всего голосов 248: ↑243 и ↓5+238
Комментарии58

Как правильно писать статьи о программировании для начинающих

Время на прочтение5 мин
Количество просмотров10K
В последнее время на Хабре стало появляться довольно много статей о тех или иных аспектах программирования, которые позиционируются как статьи для «начинающих». Между тем, как раз для начинающих эти статьи часто являются непонятными: иногда — слишком сложными, иногда — не отвечающими на те вопросы, на которые должны, иногда — тяжелыми для восприятия.

Попробуем разобраться, как должна быть написана статья, если вы хотите, чтобы она не только понравилась, но и была полезна читателям.
Читать дальше →
Всего голосов 163: ↑144 и ↓19+125
Комментарии68

Пара приемов работы с git

Время на прочтение3 мин
Количество просмотров41K
При чтении обучающих статей про систему контроля версий git я заметил одно свойство, большинство из них направлено на то, чтобы читатель уяснил все плюсы распределенной системы контроля версий. В этом разрезе обычно рассказывают об удаленных репозиториях, ветках, пушах, пулах и т. д.

Но в использовании какого-то инструмента возникает такой момент (особенно, если изучение его идет по разным факам, форумам, статьям в интернете), когда вроде бы знания по работе с ним уже получены достаточно, но все равно чувствуешь, что в каких-то моментах ты немного плаваешь. Значит настало время взять в руки нормальную книгу и начать ее читать от корки до корки.

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

Но статья, на самом деле, не об этом. Я хочу рассказать про две замечательные команды git, которые я недавно для себя открыл. Это git blame и git bisect

Читать дальше →
Всего голосов 108: ↑97 и ↓11+86
Комментарии24

Паттерны ООП в метафорах

Время на прочтение17 мин
Количество просмотров558K
Большинство литературы посвященной паттернам в ООП (объектно-ориентированном программировании), как правило, объясняются на примерах с самим кодом. И это правильный подход, так как паттерны ООП уже по-умолчанию предназначаются для людей, которые знают что такое программирование и суть ООП. Однако порой требуется заинтересовать этой темой людей, которые в этом совершенно ничего не понимают, например «не-программистов» или же просто начинающих «компьютерщиков». Именно с этой целью и был подготовлен данный материал, который призван объяснить человеку любого уровня знаний, что такое паттерн ООП и, возможно, привлечет в ряды программистов новых «адептов», ведь программирование это на самом деле очень интересно.
Статья предназначена исключительно для новичков, так что «старожилы» ничего нового для себя не узнают. В основном статья описывает известные паттерны из книги «Приемы объектно-ориентированного программирования. Шаблоны проектирования.», но более популярным и простым языком.
Читать дальше →
Всего голосов 214: ↑201 и ↓13+188
Комментарии86

Поиск с использованием CSS3

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

Многие наверняка знакомы с плагином quicksearch для jQuery. Этот плагин, перебирая заранее подготовленный список всех элементов и их текстовое представление, проверяет наличие ключевых слов с использованием функции indexOf.

Мне такое решение не понравилось. Я считаю, что этот функционал должен быть нативным.

Читать дальше →
Всего голосов 28: ↑26 и ↓2+24
Комментарии38

Топ-5 самых впечатляющих книг, которые должен прочесть каждый разработчик ПО

Время на прочтение3 мин
Количество просмотров378K
Не так давно промелькнула ссылка на достаточно свежее (осень 2011) англоязычное голосование со скромным названием "самая впечатляющая книга, которую должен прочесть каждый разработчик программного обеспечения" и описанием:

Если бы вы могли вернуться в прошлое, к самому началу своей карьеры разработчика и сказать самому себе: «прочитай именно эту книгу», в самой начале своей карьеры разработчика, какую бы книгу вы рекомендовали?

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

Однако в данном небольшом посте я возьму на себя смелость перечислить ТОП-5 тех самых книг, победивших в голосовании, переведенных на русский язык. И дать небольшие комментарии, ведь книги действительно этого достойны. Да, лично я бы поменял некоторые места, однако положимся на «мнение зала» ресурса Stack Overflow.
Читать дальше →
Всего голосов 236: ↑219 и ↓17+202
Комментарии182

Эвристический решатель судоку

Время на прочтение3 мин
Количество просмотров31K
В статье "Решение судоку с помощью веб-камеры" большинство решений реализовано очень красиво, за исключением самого решателя. В одном из моих старых проектов «Решатель судоку» была попытка подобрать алгоритм с комплектом эвристик для решения стандартной задачи судоку (поле 9х9). Вариант прямого полного перебора не рассматривался.

Читать дальше →
Всего голосов 35: ↑26 и ↓9+17
Комментарии30

Расширения Firefox для веб-разработки на все случаи жизни

Время на прочтение6 мин
Количество просмотров56K
Исторически сложилось так, что Firefox пользуется широкой популярностью среди веб-разработчиков благодаря его расширяемости через подключение всевозможных плагинов и дополнений, написанных сторонними разработчиками. Идея выделения функционала в расширения позволила решать массу всевозможных задач прямо в браузере, не прибегая к внешним инструментам.

Безусловно в этом списке вы обязательно найдёте уже знакомые расширения, однако огромный пласт полезных расширений всегда остаётся в стороне. Так что приготовьтесь установить ещё парочку расширений! :)

Встроенные инструменты разработки в Firefox


Перед началом списка было бы неправильно не упомянуть об инструментах, уже встроенных в Firefox. Здесь речь идёт о тех самых инструментах разработки в Firefox Aurora 10 и том функционале, который сегодня можно найти в любом современном браузере.

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



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

Читать дальше →
Всего голосов 216: ↑197 и ↓19+178
Комментарии55

Как составить презентацию проекта (pitch book)

Время на прочтение2 мин
Количество просмотров2.5K
Примечание: автор текста — Всеволод Леонов, Академия проектов Farminers

Всем привет. Если вы уже сделали упражнение от Александра Бородича и написали elevator pitch, самое время начать работу над более детальным документом (просто pitch, или pitch book), который вы отправите потенциальному инвестору после того, как он купился на ваш elevator pitch.
Читать дальше →
Всего голосов 39: ↑30 и ↓9+21
Комментарии31

Elevator Pitch или грамотная презентация проекта за 60 секунд

Время на прочтение2 мин
Количество просмотров6.1K
Я хочу рассказать вам про то, как создать грамотный Elevator Pitch – одноминутную презентацию проекта потенциальному инвестору на базе собственного опыта. Когда у вас есть всего одна минута, чтобы презентовать проект, вы должны четко понимать, на что потратить эти драгоценные секунды.

Краткость — сестра таланта

Для начала попробуйте описать ваш проект и уложиться в 150-200 слов, при этом нужно, чтобы в эти 200 слов уместилось описание основной идеи, её уникальность и польза для потребителя, ваша оценка рынка, состав и опыт команды, текущий статус проекта и объем желаемого финансирования. Так как вы можете не уложиться в минуту, когда будете пересказывать этот текст, постарайтесь всё важное вложить в первый абзац и первые 20 секунд презентации.

Первое впечатление

Первая фраза – самая важная, попробуйте написать несколько вариантов, покажите эти варианты старшему поколению, если они вас не понимают – перепишите. Повторяйте упражнение до тех пор, пока большей части видящих текст впервые, он не станет понятен.
Читать дальше →
Всего голосов 68: ↑55 и ↓13+42
Комментарии20

InstaCSS: удобный поиск по справочнику CSS

Время на прочтение1 мин
Количество просмотров956
Для изучающих CSS есть несколько хороших сайтов с документацией и примерами использования, в том числе W3schools и MDN (Mozilla Developer Network). Разработчик Рафаэль Гарсиа сделал InstaCSS — очень удобный поиск по CSS-справочнику MDN. Это полнотекстовый поиск в стиле Google, с подсветкой кода и другими фичами, результаты обновляются по мере набора символов. Вся информация по запросу — на одной странице, так что не надо искать её по разделам документации.



Автор сделал проект за 24 часа, так что осталось ещё много багов. Он говорит, что на бэкенде используется MongoDB, откуда backbone.js вытягивает по JSON данные для клиентской стороны.

Код на github: github.com/rgarcia/instacss
Всего голосов 33: ↑29 и ↓4+25
Комментарии11

Информация

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