• Настольные игры: во что играют в IT-офисах?

      В этом топике — обещанный обзор разных настольных игр.

      — Первая часть — это «портированные» версии известных компьютерных (по сюжету Starcraft, Warcraft, Civilization, Age of Empires, Master of Orion, Doom)
      — Вторая часть — игры, которые интересны многим хабражителям, судя по комментариям к прошлым топикам.
      — В комментариях предлагаю делиться информацией об интересных играх: думаю, многие смогут подсказать нечто необычное в плане поиграть или же предупредить от напрасной покупки.
      — Топик будет интересен тем, кто хочет понять, что популярно на рынке, вкратце посмотреть товар для магазина и тем, кому просто интересно, что же там вообще есть из настольных игр для себя, компании или в подарок.
      — В конце есть приятный бонус хабрачитателям.

      Читать дальше →
    • Пример Makefile

        Написание makefile иногда становится головной болью. Однако, если разобраться, все становится на свои места, и написать мощнейший makefile длиной в 40 строк для сколь угодно большого проекта получается быстро и элегантно.

        Внимание! Предполагаются базовые знания утилиты GNU make.
        Читать дальше →
      • Asterisk, или домашняя телефония для (про)двинутых пользователей

          Эта история началась два долгих года назад, когда во время командировки в США я ВДРУГ остался без мобильной связи: с дуру перед поездкой поменял телефон, а он оказался «двух-диапазонником»… Да и роуминг не дешёвый…
          Итогом стало открытие для себя SIP-телефонии.

          И вот несколько месяцев назад, из статей на Хабре, выясняю, что чужим дядям можно и не платить за межгород, если надо позвонить откуда-то в родной город через Интернет! Достаточно поставить VoIP сервер и настроить его так, как надо именно тебе!

          И вот, взяв в руки Asterisk, я приступил к операции по борьбе с излишней жадностью ОпСоСов…

          Читать дальше →
        • PulseAudio, часть 1: управление из командной строки


            Одним из новшеств Ubuntu 10.10 стал переход с «голой» ALSA на PulseAudio. Ранее постилось много советов прибить и удалить его для решения проблем, однако теперь PulseAudio стабилен, с ним не шипят колонки ;), и он способен на такое, что не снилось Alsa :)

            В статье я с самого начала расскажу что это такое и как оно работает, а так же:
            • Как переключить весь звук на USB-колонку на закрывая приложений (usb hotplug);
            • Как выбрать порт звуковой карты для вывода звука (колонки ноутбука/наушника, LineOut/Наушники);
            • Как выбрать профайл звуковой карты (маппинг физических портов: 5.1 или стерео+lineIn?);
            • Как управлять громкостью и усиливать тихий сигнал (!);
            • Как сделать Skype громче музыки?

            И представлю своё решение, призванное упростить управление PulseAudio ;)
            Любопытно!
          • Пишем свой драйвер под Linux

            image

            Хочу признаться сразу, что я вас отчасти обманул, ибо драйвер, если верить википедии это компьютерная программа, с помощью которой другая программа (обычно операционная система) получает доступ к аппаратному обеспечению некоторого устройства. А сегодня мы создадим некую заготовку для драйвера, т.к. на самом деле ни с каким железом мы работать не будем. Эту полезную функциональность вы сможете добавить сами, если пожелаете.

            То, что мы сегодня создадим, корректнее будет назвать LKM (Linux Kernel Module или загрузочный модуль ядра). Стоит сказать, что драйвер – это одна из разновидностей LKM.

            Писать модуль мы будем под ядра линейки 2.6. LKM для 2.6 отличается от 2.4. Я не буду останавливаться на различиях, ибо это не входит в рамки поста.

            Мы создадим символьное устройство /dev/test, которое будет обрабатываться нашим модулем. Хочу сразу оговориться, что размещать символьное устройство не обязательно в каталоге /dev, просто это является частью «древнего магического ритуала».

            Читать дальше →
          • Изучаем английский с Anki

              Anki — это программа для запоминания иностранных слов. Список её преимуществ перед аналогами впечатляет! Судите сами:
              • Широкие возможности по настройке вида карточек
              • Поддержка мультимедиа
              • Большое количество плагинов
              • Настройка алгоритма обучения
              • Подробная статистика
              • Поддержка большинства современных платформ (Linux, Windows, Mac, iPhone, Android, список можно продолжить!)
              • Синхронизация данных

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



              Официальный сайт — ichi2.net/anki
              Программу можно найти в Центре приложений Ubuntu.
            • Электровелосипед своими руками

                Тема электротранспорта меня интересовала всегда.
                И вот наступил долгожданный момент, когда я от теории наконец перешел к практике. О своём опыте я поведаю ниже.

                Пара мыслей в качестве вступления.
                Почему именно сейчас так активно заговорили про электромобили, электросамолёты, электробайки? Наконец почти разрешилась основная проблема электротранспорта — начали появляться достаточно компактные и емкие батареи. Более того, они заряжаются за терпимое время. Собственно только этого и ждали, все остальное давно создано и «обкатано» — кузов, ходовая часть, электроника, электромоторы. Все это уже используется сотню лет. А электромоторы позволяют использовать непривычные решения — к примеру устанавливать себя в ступицы самих колес.

                К делу!

                Технические характеристики:

                — велосипед обычный, средней ушатанности, цена примерно 200$
                — электромотор на 48V и мощность 380W
                — батарея на 48V и 10A
                — скорость без помощи педалей по ровной дороге 35-40 км/ч
                — дальность поездки 22-25 км по легкой холмистой местности и в городе
                — время полного заряда 2 часа

                image

                Надо отметить, что переоборудование не сильно бросается в глаза и большинство людей на улице просто не замечают ничего необычного в велосипеде.
                Читать дальше →
              • uklon.com.ua — интернет заказ такси

                  Привет всем хабропланетянам!
                  image
                  Сегодня я расскажу вам про киевский сервис интернет заказа такси uklon.com.ua — полностью автоматизированном сервисе, в котором заказ делают клиенты без участия диспетчеров.

                  Читать дальше →
                • Подключение поворотного энкодера к компьютеру через USB

                    Давно хотел приспособить к ноуту регулятор громкости, сделанный из энкодера. Подключать этот регулятор нужно будет к USB, чтобы все было «по-взрослому» (да и по-другому никак внешнее устройство к ноуту не подключишь). Крутим энкодер влево — громкость должна уменьшаться, вправо — должна увеличиваться. Жмем вниз ручку энкодера — запускаем какую-нибудь полезную программу, или переключаемся на регулирование тембра.
                    Читать дальше →
                  • Введение в разработку USB периферии

                      Последние полгода я участвую в разработке первого в своей жизни USB-устройства и прикладного ПО к нему, и сейчас хочу поделиться своим пониманием того, как там всё работает: микроконтроллер, драйвер, прикладное ПО. Также затрону вопрос о выборе идентификаторов VID/PID. Список полезных ссылок для желающих более подробно разобраться в теме прилагается.
                      Читать дальше →
                    • Почему гику стоит переходить на Linux

                        Вот уже четвертый год я являюсь счастливым пользователем ОС Linux. Должен сказать, что до этого, начиная примерно с 1996 года, я был сначала просто пользователем, а потом и убежденным сторонником продуктов Microsoft. Я очень долгое время работал с их ОС, от DOS 6.22 до Windows XP/2003 Server. В сторону Linux я тогда смотрел со стойким недоверием. Но, признаюсь, вникать не хотел, а поверхностно Windows выглядела сильнее. Как говорил мой начальник, «не любил я все эти оккультные вещи с демонами и прочим». В силу специфики работы через мои руки прошли десятки, а то и сотни Windows-машин. Так что все, что я буду хаять тут, выстрадано на опыте :) Скажу также, что стандартные аргументы о безопасности и стабильности в моем случае не особо срабатывали. Умеючи администрировать Windows, можно добиться вполне приемлемой стабильности и безопасности. Windows падала у меня за 10 лет считанные разы. Да, конечно бывали BSODы, но тоже не сильно часто (kernel panic — линкусового аналога BSOD — на своих машинах, правда, не видел ни разу). Заражений вирусами на домашней машине я вспомнить вообще не могу. На работе, как и все, попали под Blaster. Но в целом, все было не так плохо, как об этом говорили.

                        На закате моей эпохи Windows я работал .Net программистом. Тогда я уже прочитал «Running Linux» и еще какую-то книгу по общей архитектуре Unix-систем. Они потрясли мое мировоззрение :) Я увидел на сколько стройнее и правильнее можно делать вещи. Увидел на сколько корявыми и костылистыми являются некоторые решения Microsoft. В общем, морально я уже был готов. Но в 2005 году Mono все еще было неработоспособной штукой. Помнится, я даже качал с сайта проекта LiveCD с Mono Develop. Но среда рухнула с грохотом при попытке изменить размер какого-то фрейма. Такое средство разработки меня не устраивало. С Linux пришлось отложить до лучших времен. А времена настали, когда я поменял работу, предав .Net в пользу Java. Уж тут то привязок к операционной системе было по минимуму. Так что сам Бог велел. К тому же у меня дома появился отдельный ноутбук, на котором я мог безболезненно для остального человечества экспериментировать. За месяц я настроил до устраивающего меня состояния Kubuntu 6.10. С тех пор я все сильнее раздражался с каждым разом, когда мне приходилось общаться с Windows XP на компьютере жены.

                        Итак, не холивара ради, а пользы для, посмотрим, что же получает IT-специалист от использования Linux?
                        Читать дальше →
                      • Настройка и понимание Bacula

                          Иногда проснувшись утром отчетливо понимаешь — что то не так. Хотя ты побрился и даже ни разу не порезался, кофе не выкипел, на улице солнечное утро, добрался до работы быстро и без приключений, вроде бы все хорошо, а все равно что то не так. Но войдя в офис ты видишь общую панику, истеричные вопли, о том, что все пропало и «весь офисный планктон» умрет, а ты находишься во главе тех кто погибнет.
                          Оказывается ночью отказали файловый и почтовый серверы. И тут понимаешь, что не с проста утро началось так хорошо. Работы предстоит достаточно, но данные надежно сохранены, ибо ты позаботился об их резервном копировании.
                          Читать дальше →
                        • Настройка резервного копирования Linux-сервера за 5 минут

                            Передо мной возникла необходимость настроить резервное копирование на новом Linux-сервере, задачка эта оочень важная, но уж больно скучная: нужно написать и отладить скрипты, которые будут архивировать нужные папки (причем желательно делать инкрементальные архивы), базы данных, хранилища subversion, а затем переносить эти архивы на удаленный сервер. По этому я попробовал нагуглить готовое решение для этой задачки и в результате наткнулся на backup-manager — замечательный опенсорсный набор bash-скриптов, позволяющих:
                            • архивировать любые папки, в том числе и создавать инкрементальные архивы. В конфиге просто указывается список директорий, которые должны быть скопированы, а также «черный список» файлов, которые копироваться не будут.
                            • делать резервное копирование баз данных MySQL. В конфиге указываются логин и пароль mysql-юзера, имеющего доступ к базам, а всю остальную работу backup-manager делает сам.
                            • делать резервное копирование svn-репозиториев, причем бэкап делается не копированием папки с хранилищем, а с помощью команды svnadmin dump.
                            • шифровать архивы.
                            • копировать созданные архивы на удаленные сервера по FTP, SSH или (это самая важная для меня фича) в хранилище Amazon S3, а также записывать их на DVD.

                            Таким образом, один этот этот набор скриптов решил абсолютно все мои задачи, связанные с резервным копированием. Настраивается все это хозяйство не более чем за пять минут, так как в конфигурационном файле каждый параметр имеет подробные комментарии, так что проблем с настройкой возникнуть ни у кого не должно.
                            Читать дальше →
                          • Использование runit для своих сервисов

                              Супервизор сервисов runit позиционируется как замена стандартным скриптам инициализации Unix.

                              Но на практике оказалось, что runit идеален для управления сервисами безотносительно инициализации и т.п.

                              Введение


                              Супервизор берёт на себя такой функционал, как:
                              • превращение любого процесса в демон;
                              • логгирование вывода процесса и ротирование логов;
                              • запуск, остановка, рестарт, запрос состояния, управляющие скрипты для init.d;
                              • выключение и запуск сервисов автоматически при появлении новых сервисов в списке либо удалении старых из списка;
                              • возможность ведения нескольких независимых списков сервисов одновременно (например, для каждого пользователя отдельно и для системы в целом);
                              • удобный API для управления сервисами.

                              Для большинства операционных систем runit уже входит в репозитории пакетов (apt-get install runit). Кроме того, мы имеем уже готовый набор рецептов для популярных сервисов (nginx, apache etc.).

                              Читать дальше →
                            • SSH-туннели — пробрасываем порт

                                Не всегда есть возможность, да и не всегда надо, строить полноценный туннель с интерфейсной парой адресов. Иногда нам нужно лишь «прокинуть» вполне определённые порты.

                                Тут важно понимать, что туннель можно организовать как изнутри сети, к ресурсам которой вы хотите получить доступ, на внешний ssh-сервер. Также можно организовать туннель с хоста в Интернете на пограничный ssh-сервер сети, чтобы получить доступ к внутренним ресурсам.
                                Читать дальше →
                              • Настройка резервного копирования в Ubuntu

                                  Настройка резервного копирования в Ubuntu за 20 минут.


                                  Для работы над проектами использую svn, который находится на удаленном виртуальном выделенном хосте, под управлением ubuntu 8.04. Со временем объемы данных выросли, как и критичность этих данных. Потеря чего-то снилась в кошмарах. Время от времени копировал репозитории на локальный компьютер. Недавно мне это надоело. И я стал искать возможности автоматизировать это дело. Не буду говорить о поисках и вариантах, расскажу о результатах.

                                  Итак, мы имеем удаленный хост под управлением ubuntu, с некоторым массивом довольно критичных данных. Довольно логичным было бы настроить бэкап прямо на удаленном хосте, с помощью tar по крону, rsyns и т.д. Но, т.к. место на виртуальном выделенном хостинге довольно дорого и использовать его лучше по делу, идеально было бы, чтобы данные автоматически копировались на какую нибудь локальную машину, место на которой хоть отбавляй. В моем случае это файловый сервис в офисе, под управлением все той же Ubuntu.

                                  Итак, приступим
                                • Ввод произвольных символов при помощи Compose Key: настройка

                                    Многие знают, что в Linux есть специальная кнопка: Compose. Её действие аналогично виндовым сочетаниям Alt+NumPad (Например, нажатие Alt+0169 даёт символ ©), но не требует хранить перед глазами таблицу кодов символов :) Если настроить правый Alt как Compose Key, то нажав RAlt+O+C получаем тот же значок копирайта: ©.

                                    В статье я опишу способ назначения произвольных сочетаний клавиш для символов. Это будет удобно в первую очередь математикам: не нужно будет лазить в таблицу символов чтобы ввести «∀ε>0 ∃δ(ε)≕δ>0: ∀x∈O(x₀) |f(x)<A|» в любом приложении, поддерживающем юникод. Кроме математических символов, будут доступны всевозможные стрелочки (→⇖⇔⟲⟽), галочки (✘), буллеты (•‣★), кавычки («»), длинное тире (—), дроби(⅓, ⅞), диа⃫кр͎е̃ти⃰ческие зн⃫аки и всё что душе угодно в необъятном юникоде! :)
                                    Хочу так же
                                  • А давайте подружимся с SSH

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



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

                                      В этой заметке вы узнаете:
                                      • как прописать псевдонимы для соединений
                                      • как настроить авторизацию без пароля
                                      • как передавать файлы по SSH
                                      • как запускать графические приложения по SSH
                                      • а так же получите общие советы по опциям SSHD


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