Как театр начинается с вешалки, так программирование микроконтроллеров начинается с выбора хорошего программатора. Так как начинаю осваивать микроконтроллеры фирмы ATMEL, то досконально пришлось ознакомится с тем что предлагают производители. Предлагают они много всего интересного и вкусного, только совсем по заоблачным ценам. К примеру, платка с одним двадцатиногим микроконтроллером с парой резисторов и диодов в качестве обвязки, стоит как «самолет». Поэтому остро встал вопрос о самостоятельной сборке программатора. После долгого изучения наработок радиолюбителей со стажем, было решено собрать хорошо зарекомендовавший себя программатор USBASP, мозгом которого служит микроконтроллер Atmega8 (так же есть варианты прошивки под atmega88 и atmega48). Минимальная обвязка микроконтроллера позволяет собрать достаточно миниатюрный программатор, который всегда можно взять с собой, как флэшку.
User
Сетевая игра на bash: шахматы
5 min
8.7KЯ давно хотел написать какую-нибудь сетевую игру на bash, причём желательно, чтобы управление было удобное, с клавиатуры, обычными курсорным клавишами. Вообще, тема интерактивного взаимодействия в bash глубже, чем «введите число, нажмите „Enter“» не раскопана. Мне пришлось всё изобретать и исследовать самостоятельно. Я очень старался найти что-то похожее по уровню интерактивности, но не нашёл.
Поскольку тонкости управления с клавиатурой съели очень много моего времени, я не стал заморачиваться с тонкостями совместимости, поэтому игра тестировалась только под Mac OS X, есть ненулевая вероятность, что она заработает и под Linux и уж точно её можно допилить там до рабочего состояния.
Для работы игра требует наличия nc (aka Netcat) и терминала с поддержкой 256 цветов (под Mac OS рекомендую iTerm2). При наличие интереса к игре, допилю до терминала на 16 цветов и /dev/tcp. Кстати начал выкладывать все свои шел-поделки на ГитХаб.

Так как игра сетевая, у неё требуется указать два параметра, о которых она расскажет, если её запустить без них. Первый — адрес машины противника, второй — порт. Порт выбирается одинаковым на обеих машинах. Игру можно запустить и на одной машине, в двух консолях (на скриншоте как раз такой случай).
Играть просто — в каждый момент времени активна только одна доска (на скриншоте — правая, у неё буквы и цифры вокруг доски ярче), на активной доске курсор двигается курсорными клавишами — ←, →, ↑ и ↓, взять фигуру и поставить её на доску — по клавише пробела или Enter. Как только вы поставили фигуру на доску, ход переходит к сопернику. «Съесть» фигуру соперника проще простого — достаточно поставить свою фигуру на чужую. В игре есть защита — нельзя «съесть» свою фигуру.
Ничего помимо этого в игре нет — не производится правильность контроля ходов, нет проверки на завершение игры, можно даже ходить фигурами соперника. Было очень сложно придумать как обрабатывать нажатия в shell, так что остальное сделать я просто не успел, не поместилось в формат «игрушка за вечер».
Я постарался снабдить свой код комментариями и писать достаточно структурировано, чтобы можно было разобраться как всё работает самостоятельно.
Поскольку тонкости управления с клавиатурой съели очень много моего времени, я не стал заморачиваться с тонкостями совместимости, поэтому игра тестировалась только под Mac OS X, есть ненулевая вероятность, что она заработает и под Linux и уж точно её можно допилить там до рабочего состояния.
Для работы игра требует наличия nc (aka Netcat) и терминала с поддержкой 256 цветов (под Mac OS рекомендую iTerm2). При наличие интереса к игре, допилю до терминала на 16 цветов и /dev/tcp. Кстати начал выкладывать все свои шел-поделки на ГитХаб.

Так как игра сетевая, у неё требуется указать два параметра, о которых она расскажет, если её запустить без них. Первый — адрес машины противника, второй — порт. Порт выбирается одинаковым на обеих машинах. Игру можно запустить и на одной машине, в двух консолях (на скриншоте как раз такой случай).
Играть просто — в каждый момент времени активна только одна доска (на скриншоте — правая, у неё буквы и цифры вокруг доски ярче), на активной доске курсор двигается курсорными клавишами — ←, →, ↑ и ↓, взять фигуру и поставить её на доску — по клавише пробела или Enter. Как только вы поставили фигуру на доску, ход переходит к сопернику. «Съесть» фигуру соперника проще простого — достаточно поставить свою фигуру на чужую. В игре есть защита — нельзя «съесть» свою фигуру.
Ничего помимо этого в игре нет — не производится правильность контроля ходов, нет проверки на завершение игры, можно даже ходить фигурами соперника. Было очень сложно придумать как обрабатывать нажатия в shell, так что остальное сделать я просто не успел, не поместилось в формат «игрушка за вечер».
Я постарался снабдить свой код комментариями и писать достаточно структурировано, чтобы можно было разобраться как всё работает самостоятельно.
+172
Бесплатные книги
3 min
60KНесколько книг по разным темам, которые находятся в открытом доступе.
Основы программирования
Основы программирования
+235
Задача о восьми Ферзях на Oracle SQL
6 min
12KПривет, Хабролюди!
В мае месяце в Москве прошла олимпиада IT-Планета, одной из номинаций которой было «Программирование СУБД Oracle». Задания были интересными и сложными, и хотелось бы поделиться решением некоторых из них.
Первая задача, о которой я расскажу — задача о восьми ферзях, решить ее было необходимо используя для этого только SQL и ничего более, сначала я эту задачу просто вычеркнул из списка тех, которые собираюсь решать, но в последний час все-таки ее решил, что принесло мне первое место и диплом из рук министра связи и массовых коммуникаций РФ.
В мае месяце в Москве прошла олимпиада IT-Планета, одной из номинаций которой было «Программирование СУБД Oracle». Задания были интересными и сложными, и хотелось бы поделиться решением некоторых из них.
Первая задача, о которой я расскажу — задача о восьми ферзях, решить ее было необходимо используя для этого только SQL и ничего более, сначала я эту задачу просто вычеркнул из списка тех, которые собираюсь решать, но в последний час все-таки ее решил, что принесло мне первое место и диплом из рук министра связи и массовых коммуникаций РФ.
+28
Оффлайновый способ хранить пароль
1 min
3.5KЕсть сервис passwordcard который позволяет генерировать и распечатывать такие вот карточки паролей.

Суть заключается в том, чтобы запоминать только картинки и длину, например вертикаль «О» запоминаем только вертикаль, получается JQ3xqZkE
Карточку можно распечатать и положить в удобное место.
Хорошая альтернатива менеджерам и проч. программ.
UPD: Для особо умных ребят уточню, что комбинаций здесь гораздо больше и facepalm писать не следует, потому как пароль можно как по диагонали брать, по змейке, зиг-загом, в обратном порядке, через один и так далее
UPD2: судя по всему сервер упал под хабраддосом (:

Суть заключается в том, чтобы запоминать только картинки и длину, например вертикаль «О» запоминаем только вертикаль, получается JQ3xqZkE
Карточку можно распечатать и положить в удобное место.
Хорошая альтернатива менеджерам и проч. программ.
UPD: Для особо умных ребят уточню, что комбинаций здесь гораздо больше и facepalm писать не следует, потому как пароль можно как по диагонали брать, по змейке, зиг-загом, в обратном порядке, через один и так далее
UPD2: судя по всему сервер упал под хабраддосом (:
+80
Оффлайновые карты всего мира
2 min
6.2K
Если это будет интересно, я как нибудь напишу, как я уходил из цюрихского Гугла, и при этом все вокруг делали квадратные глаза и как потом на чистом энтузиазме мы с друзьями почти год писали проект.
+216
Конспекты для ленивых
2 min
241KВсе началось с того, что возникла необходимость переписать огромное колличество конспектов за довольно небольшой срок. Время поджимает, лени не уменьшается, а делать надо. Благо конспекты были в электронном варианте, решилась я на хитрость — создать свой рукописный шрифт и распечатать конспекты.
+109
Разработка для Pokki: Hello World
4 min
4.1KTutorial
Не так давно была запущена в бета-режиме платформа Pokki, позволяющая разрабатывать десктопные приложения с помощью HTML5 и JavaScript (обзор здесь). На данный момент она доступна только пользователям Windows 7, в ближайшем будущем — пользователям Vista и XP, также в планах Mac OS. В этой статье мы будем разрабатывать свое первое приложение.
+17
Прокрастинация разрушила мою жизнь, часть 2: интересные ответы нытику
7 min
34KВчера я опубликовал перевод топика «Прокрастинация разрушила мою жизнь» одного из североамериканских хлопцев с Hacker News. Сегодня вы можете ознакомиться с интересными ответами HN-юзеров.
Психолог Пирс Стил в своей книге «Уравнение прокрастинации» считает, что проблема заключается не в перфекционизме, а в импульсивном управлении.
Хотя у вас нет проблем с тем, чтобы начать работу, прокрастинация начинается позже. Вот мой конспект книги:
юзер Isamu
Психолог Пирс Стил в своей книге «Уравнение прокрастинации» считает, что проблема заключается не в перфекционизме, а в импульсивном управлении.
Хотя у вас нет проблем с тем, чтобы начать работу, прокрастинация начинается позже. Вот мой конспект книги:
+34
Взаимодействие bash-скриптов с пользователем
4 min
147KЛюбой приказ, который может быть неправильно понят, понимается неправильно (Армейская аксиома)
Редкий скрипт лишен необходимости общения с пользователем. Мы ожидаем, что программа (утилита) будет выполнять то, что нам от нее хочется. Следовательно, нужны инструменты влияния на них, да и программа сама должна объяснить, как продвигается ее работа.
Данным топиком я хочу рассмотреть несколько способов взаимодействия bash-скриптов с пользователем. Статья рассчитана на новичков в скриптинге, но, надеюсь, люди опытные тоже найдут что-нибудь интересное для себя.
+85
13 бесплатных курсов Стэнфордского университета
2 min
72KНедавно анонсированный бесплатный онлайн-курс Стэнфорда по основам искусственного интеллекта вызвал настоящий ажиотаж у публики. Заявки на регистрацию подали уже 81 966 человек. Оно и понятно: курс ведут Питер Норвиг и Себастьян Тран — настоящие звёзды. Первый раньше работал в НАСА и написал учебник по ИИ, а второй разрабатывает лучшие в мире роботизированные автомобили (для Google).
Очевидно, что качественное образование через интернет нужно людям и становится всё популярнее. Поэтому перед началом учебного года есть смысл напомнить список 13-ти бесплатных учебных курсов Stanford Engineering. В отличие от лекций Норвига и Трана, это не онлайновые, а старые курсы. В свободный доступ уже выложены видеозаписи всех лекций от первой до последней, PDF'ы с заданиями и другие материалы, но здесь нельзя задать вопрос преподавателю.
Очевидно, что качественное образование через интернет нужно людям и становится всё популярнее. Поэтому перед началом учебного года есть смысл напомнить список 13-ти бесплатных учебных курсов Stanford Engineering. В отличие от лекций Норвига и Трана, это не онлайновые, а старые курсы. В свободный доступ уже выложены видеозаписи всех лекций от первой до последней, PDF'ы с заданиями и другие материалы, но здесь нельзя задать вопрос преподавателю.
+98
+26
Лайтпак 5.5 опубликован
1 min
8.3KЧитатели помнят, что ещё в декабре прошлого года, после публикации пользователя brunql мы с ним и timsat решили всерьёз взяться за open-hardware проект, который назвали Лайтпак. В феврале мы даже презентовали вам ревизию 4.3 после которой к проекту присоединилось много светлых голов.
А сегодня я готов показать вам чего мы добились к версии 5.5, ставшей первым коммерческим вариантам Лайтпака, который можно купить за деньги:
А сегодня я готов показать вам чего мы добились к версии 5.5, ставшей первым коммерческим вариантам Лайтпака, который можно купить за деньги:
+291
Как поднять свой уровень в искусстве программирования. План из шести шагов
2 min
21KTranslation

Вольный перевод списка из довольно удачных способов для повышения своего уровня, как программиста.
+140
ARM — это сложно…?
3 min
105K
Я решил попробовать доказать, что это далеко от истины, и сделал платку, проще которой трудно: 1 сторонняя, 1 обязательный конденсатор (до стабилизатора не обязательно), 1 резистор, один стабилизатор 3.3V, и наконец младший STM32: STM32F100C4T6B — 16кб флеш, 4кб SRAM, 48 ног, Cortex-M3(!!!) с DMA, дебагом на лету, 32*32+32->32 за 1 такт и всеми прочими радостями за 28 рублей.
+97
Python-неизвестный
4 min
27KНа Хабре уже есть несколько статей\переводов, в которых рассказывается о неизвестных фичах\тонкостях\возможностях Пайтона. Я буду пытаться не повторять их, а дополнять, но если уж так случилось, что вы это уже где-то видели — не огорчайтесь. Я уверен, что найдется что-то интересное и для вас.
+136
Интервалометр для SONY NEX-5 за 20 минут и $0
3 min
53KЭто пост я посвящаю всем тем, кто паял Covox для БК.
То, что описано в данном уроке, не является открытием, и описано довольно много где, и даже запатентовано.
Сначала — видео конечного результата:
А теперь подробности:
То, что описано в данном уроке, не является открытием, и описано довольно много где, и даже запатентовано.
Сначала — видео конечного результата:
А теперь подробности:
+96
Бесплатная централизованная библиотека кода: Microsoft All-In-One Code Framework
1 min
20K+51
Разработка своего первого USB устройства. Маленький шаг вперед
5 min
62KДавным-давно уже бредил мечтой собрать какое-нибудь устройство, пусть незамысловатое, но которое бы выполняло определенные действия под управлением компьютера. По профессии я web-разработчик, опыта в программировании микроконтроллеров никакого, но тема интересная. Навыков пайки тоже мало (ну наушники или проводки разные могу спаять конечно, но чипы паять не пробовал). Поэтому решил, что начинать необходимо с чего-то простого — например на основе уже готовой макетной платы с микроконтроллером.
В посте я расскажу о своем опыте разработки своей первой поделки, которая управляет светодиодами на плате с помощью программы на компьютере, а конкретнее некое подобие индикатора уровня громкости с одной полосой визуализации.
Что будет в посте?
В посте я расскажу о своем опыте разработки своей первой поделки, которая управляет светодиодами на плате с помощью программы на компьютере, а конкретнее некое подобие индикатора уровня громкости с одной полосой визуализации.
+109
Windows.Git.Cygwin.SSH.Gitolite и руководство пользователя
8 min
33K1. Для чего эта статья?
Желание получить возможности Git на Windows платформе материализовало стремление повозиться с разными схемами настройки.
2. Осознание
Нужно осознать, что придется использовать программы Cygwin,SSH,GitExtenstions,Git,Gitolite
Cygwin — это программа, которая эмулирует окружение Linux.У нее есть свое черное окно, выглядящее и работающие как окно терминала Linux.
MsysGit — это программа для эмуляции git окружения, но без ssh сервера, поэтому мы не будем использовать на сервере репозитариев. Используем только для клиентов репозитария.
SSH — это программа для использования ssh подключений из ssh клиентов, доступная для всех операционных систем.
SSH сервер — это программа принимающая подключения от ssh клиентов.
Git — это набор программ, включая сам git, для работы с репозиториями файлов.
Gitolite — это программа, обертывающая git, и реализующая функции управления репозитариями: управление пользователями, их доступом и т.п.
GitExtensions — это программа для windows, обертывающая функционал как git, так прилагающегося набора программ в GUI, который также, встраивается в среду разработки Visual Studio 05/08/10.
В корпоративе придется выделить ресурсы для хостинга SSH службы, дисковое пространство для размещения репозитариев.
Человека, который будет обслуживать SSH сервер, доступ к репозиторию.
Научить пользователей использовать аналоги функций для взаимодействия с их старыми система контроля версий через GitExtensions.
Предложить им некоторые схемы работы, которые позволяет достичь Git.
UPD: 05.08.2011
UPD: 30.01.2012
+19
Information
- Rating
- Does not participate
- Location
- Киев, Киевская обл., Украина
- Registered
- Activity