Pull to refresh
-2
0
Send message

DIY-диммер для современных умелых рук

Reading time4 min
Views132K


Хотите собрать DIY-диммер, но нет желания/возможности возиться с самостоятельным травлением печатных плат? Пожаловав под кат вы научитесь «делать» такие же красивые платы. Готовый ZIP-архив для заказа на Китайских производствах ждет вас внутри.
Читать дальше →
Total votes 65: ↑56 and ↓9+47
Comments67

Как помочь детям учить иностранные языки? Воспользоваться мобильными приложениями, конечно!

Reading time3 min
Views23K

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

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

Читать дальше →
Total votes 22: ↑11 and ↓110
Comments13

Универсальный способ создания пакетов, для различных дистрибутивов GNU Linux

Reading time4 min
Views17K
Различные дистрибутивы предоставляют свои утилиты, для сборки и установки программ.
Например в Debian/GNU Linux — это debuild и dpkg. В Red Hat Linux — rpmbuild и rpm.
Не редко нам приходится собирать пакеты самостоятельно.
Устанавливать программы через make, в обход системы управления пакетами в дистрибутивах — является дурным тоном.
В случаях, когда мы имеем исходный код, и автор программы позаботился о создании Makefile, можно использовать checkinstall.
Но бывает и так, что автор java приложения, не выкладывает ничего кроме jar файла. Или мы хотим на коленке создать какой-то пакет, и положить в репозиторий, что бы в дальнейшем устанавливать/обновлять его на множестве серверов с различными дистрибутивами. В этом нам поможет утилита под названием fpm.
В чем же ее достоинство? Она из коробки позволяет нам собирать пакеты под различные дистрибутивы и даже операционные системы.

Сейчас поддерживаются:
  • deb
  • rpm
  • solaris
  • tar
  • directories
  • Mac OS X .pkg files (osxpkg)

Читать дальше →
Total votes 28: ↑28 and ↓0+28
Comments6

DLNA-сервер для дома и семьи

Reading time7 min
Views859K
Как-то так сложилось, что тег DLNA сервер чаще встречается в постах-вопросах, чем в ответах. И если в вопросах установки на домашний Windows-ПК какой-то пользовательский опыт накоплен, то определиться с выбором ПО для домашнего сервера/NAS-а/медиацентра — оказалось непросто. Распределившись по песочницам народ обособленно решает проблемы каждой программы в отдельности. А понять что из них чего стоит и нужно ли оно вообще — лично мне не удалось.

И вот, я вооружившись ссылкой с Википедии Как выбрать DLNA-сервер под Windows, Mac OS X или Linux — опробовал почти всё, что есть под Linux.

Читать дальше →
Total votes 70: ↑66 and ↓4+62
Comments65

Перевод SDL Game Framework Series. Часть 6 — SDL Entities

Reading time5 min
Views11K
В этом уроке, как и обещал, я расскажу вам про такое понятие как «Сущности» (Entities). «Сущности» для всех игровых процессов это своего рода такие игровые объекты, которые могут взаимодействовать в какой-либо форме или каким-то способом друг с другом и с игровым миром. Примерами «Сущностей» могут служить монстры, которых вы встретите на своем нелегком пути, сундуки с сокровищами, которые вы можете открыть, монеты, которые можно собрать, стены, об которые можно убиться и т.д. Таким образом любой объект игрового мира который хоть как-то двигается, проявляет интерактивность, может быть представлен в виде этих «Сущностей».
А поподробнее?
Total votes 16: ↑16 and ↓0+16
Comments0

Переключения между провайдерами интернета на Debian 7

Reading time7 min
Views19K
В последних дистрибутивах Linux довольно много всяких полезных плюшек в папке /etc, однако мало кто ими грамотно пользуется. Здесь я расскажу про часть из них применительно к последней стабильной версии Debian, и приведу пример реализации переключения на резервный канал.
Все попытки найти банальную автопереключалку приводили к связке из 1-2 скриптов, написанным «под себя» и мало поддающимися настройке. К dhcp не был привязан ни один из них, а значит любые манипуляции на стороне провайдера требовали вмешательство в настройки. Сам писал такие в свое время, но вот теперь решил на новой системе оформить это красиво – так, как это задумывали разработчики Debian, а именно – меняем файлы конфигурации, добавляем свои скрипты и не трогаем те, что нам предоставила система.
Подробности
Total votes 23: ↑21 and ↓2+19
Comments4

Создаем платформер за 30 минут

Reading time15 min
Views165K
Здравствуйте! Сегодня мы будем писать платформер, используя C++, Box2D и SFML, а также редактор 2D карт для игр Tiled Map Editor.

image

Вот результат (карта создавалась 5 минут + во время сьемки игра тормозила + экран не так растянут — дефект Bandicam):



Исходники и exe — внизу статьи.
Читать дальше →
Total votes 88: ↑84 and ↓4+80
Comments14

Цикл уроков по SDL 2.0: урок 1

Reading time4 min
Views160K

От переводчика: вдохновившись циклом статей, я решил попробовать свои силы в SDL. Да вот незадача, каких-либо толковых уроков по SDL версии 2.0 на русском языке найти мне не удалось. Это и подтолкнуло меня к переводу замечательной серии туториалов Twinklebear, в оригинале доступных тут.

Добро пожаловать!

Цель данных уроков — познакомить вас с основами SDL 2.0 и гейм-дева на С++. Подразумевается, что у читателя есть некоторый опыт программирования на С++ и минимальные знания массивов, векторов, управляющих структур, функций и указателей.

Если вы испытываете трудности при разборе кода в примерах, воспользуйтесь одной из книг, представленных в этом чудесном списке на StackOverflow.

Если вы хотите увидеть полный исходник или же скачать ресурсы для уроков, то все это можно получить на GitHub’е. Но не копируйте!

Также документация по SDL 2.0 доступна для чтения в этой вики.
Читать дальше →
Total votes 41: ↑38 and ↓3+35
Comments21

Десятка лучших консольных команд

Reading time2 min
Views198K
imageВ данном посте я расскажу о наиболее интересных командах, которые могут быть очень полезны при работе в консоли. Однозначных критериев определения какая команда лучше другой — нет, каждый сам для своих условий выбирает лучшее. Я решил построить список команд на основе наиболее рейтинговых приемов работы с консолью от commandlinefu.com, кладовой консольных команд. Результат выполнения одной из таких команд под Linux приведен на картинке. Если заинтересовало, прошу под кат.
Узнать больше
Total votes 382: ↑346 and ↓36+310
Comments215

Запуск и использование OpenWrt в VirtualBox

Reading time5 min
Views131K
Скриншот списка виртуальных машинВ этой статье я расскажу о том, как запустить OpenWrt в эмуляторе и настроить его для работы в сети, а так же коснусь использования vi, клиентов ssh и scp. Главной причиной для всего этого действия я считаю возможность потрогать прошивку руками не боясь остаться без интернета, в случае возникновения проблем с роутером. Данная статья рассчитана на мало знакомых с Linux людей.
Википедия подсказывает, что OpenWrt — основанная на Linux прошивка для домашних маршрутизаторов (роутеров). На деле, это целое семейство прошивок. OpenWrt наряду с DD-Wrt и Gargoyle доступны для огромного количества роутеров на разных аппаратных платформах. Доступен репозиторий по адресу downloads.openwrt.org. Помимо основной ветки (имеющей несколько реализаций в пределах платформы), названной attitude_adjustment распространены версии backfire и kamikaze.

Установка программ

Читать дальше
Total votes 45: ↑42 and ↓3+39
Comments18

Добавляем безопасности браузеру Firefox

Reading time5 min
Views71K
image

В современном Интернете мы всё чаще сталкиваемся с различными опасностями, исходящими с Web-страниц. Уязвимые плагины, XSS на сайтах, эксплуатирование уязвимостей с помощью JavaScript, Clickjacking — и это далеко не полный список радостей жизни, которые могут встретиться на сайтах.

Даже если у Вас Linux или Mac OS X, нельзя быть полностью спокойными — в таком случае гадость просто не выйдет за пределы браузера, а вот cookies или LocalStorage извлечь вредоносный код вполне в состоянии. Также мощности компьютера могут быть использованы в совершенно неожиданных целях, вплоть до майнинга биткойнов на компьютере жертвы.

Так что защищать браузер необходимо не только снаружи, но и изнутри. Для этого нужно посмотреть на соответствующие расширения, чему и посвящён этот пост. Также здесь будут рассмотрены некоторые вопросы приватности (но не анонимности!), чтобы вы могли защититься от следящих компаний.
Читать дальше →
Total votes 52: ↑41 and ↓11+30
Comments65

STM32 и Bluetooth или удаленное управление ПК своими руками

Reading time7 min
Views45K

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


День добрый.
Сегодня я попытаюсь рассказать о своей попытке построить систему удаленного управления ПК в пределах одного помещения.

Сразу отмечу для тех кто скажет велосипед. Да это велосипед. И мне было интересно его построить. По ряду причин. Одна из которых желание сделать своими руками а не купить.
Для тех кому интересно что из этого вышло
Total votes 18: ↑16 and ↓2+14
Comments9

Основы работы с Wine для начинающих

Reading time7 min
Views610K

Введение


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

Wine — это отдельная реализация Windows API, а не эмулятор, как большинство
думают. Не единожды повторялось, но и здесь будет уместно. Это и делает проект
уникальным и интересным для пользователей различных систем, открывает различные
пути для реализации своих идей. Уникальность заключается в том, что с помощью
этой программы можно запускать Windows приложения в Ubuntu и в других
Linux системах, а также во FreeBSD и в Mac OS X. Правда и тут есть
свои «подводные камни». Некоторые думают что будет легко перейти с одной
системы на другую, в данном случае мы рассматриваем Windows и Linux.

Заблуждение заключается в том что люди думают что у них получиться запустить из
под Wine различный софт, к которому они привыкли и им удобно в нем работать.
Как не крути просто так ничего не бывает. Чтобы заработал наш любимый софт под
Wine нужно попотеть, перечитать кучу руководств и взвесить этот объём
информация. Конечно не совсем софтом придется «пыжиться», но готовым надо быть ко всему. Проект Wine развивается очень быстро, но до стабильной работы ему
очень далеко. Но думаю что в скором будущем весь основной софт, а также игры
будут работать на нем стабильно.

Читать дальше →
Total votes 147: ↑122 and ↓25+97
Comments97

Linux pipes tips & tricks

Reading time8 min
Views183K

Pipe — что это?


Pipe (конвеер) – это однонаправленный канал межпроцессного взаимодействия. Термин был придуман Дугласом Макилроем для командной оболочки Unix и назван по аналогии с трубопроводом. Конвейеры чаще всего используются в shell-скриптах для связи нескольких команд путем перенаправления вывода одной команды (stdout) на вход (stdin) последующей, используя символ конвеера ‘|’:
cmd1 | cmd2 | .... | cmdN

Например:
$ grep -i “error” ./log | wc -l
43

grep выполняет регистронезависимый поиск строки “error” в файле log, но результат поиска не выводится на экран, а перенаправляется на вход (stdin) команды wc, которая в свою очередь выполняет подсчет количества строк.

Логика


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

Размер буфера начиная с ядра версии 2.6.11 составляет 65536 байт (64Кб) и равен странице памяти в более старых ядрах. При попытке чтения из пустого буфера процесс чтения блокируется до появления данных. Аналогично при попытке записи в заполненный буфер процесс записи будет заблокирован до освобождения необходимого места.
Важно, что несмотря на то, что конвейер оперирует файловыми дескрипторами потоков ввода/вывода, все операции выполняются в памяти, без нагрузки на диск.
Вся информация, приведенная ниже, касается оболочки bash-4.2 и ядра 3.10.10.

Простой дебаг


Утилита strace позволяет отследить системные вызовы в процессе выполнения программы:
$ strace -f bash -c ‘/bin/echo foo | grep bar’
....
getpid() = 13726                   <– PID основного процесса
...
pipe([3,  4])                       <– системный вызов для создания конвеера
....
clone(....) = 13727                <– подпроцесс для первой команды конвеера (echo)
...
[pid 13727] execve("/bin/echo",  ["/bin/echo",  "foo"],  [/* 61 vars */] 
.....
[pid 13726] clone(....) = 13728    <– подпроцесс для второй команды (grep) создается так же основным процессом
...
[pid 13728] stat("/home/aikikode/bin/grep",   
...
Видно, что для создания конвеера используется системный вызов pipe(), а также, что оба процесса выполняются параллельно в разных потоках.
Читать дальше →
Total votes 105: ↑97 and ↓8+89
Comments36

Формирование документов на основе ODT шаблонов. ODT to PDF

Reading time4 min
Views11K
Здравствуйте, уважаемы хабровчане!

Не так давно мне пришлось столкнуться с типичной задачей – формировать документы с пользовательскими данными на основе шаблонов ODT средствами PHP. Звучит весьма тривиально, но намучиться пришлось сильно. Дело в том, что ни одно из доступных средств, так или иначе, не подошло. Одни библиотеки формировали документ криво, другие не поддерживали русские шрифты, третьи – двигали картинки в стиле Harlem Shake. Вот и пришлось «велосипедить».

Итак, задача вкратце:

  1. Обработать ODT шаблон. Заменить placeholder’ы на пользовательские значения
  2. Конвертировать в pdf. Показать пользователю

Читать дальше →
Total votes 6: ↑6 and ↓0+6
Comments8

FQ_CoDel — планировщик пакетов, который сделает все за вас

Reading time3 min
Views27K
Качаете и раздаете торренты на высокой скорости, но из-за этого прыгает пинг в онлайн-играх, и играть становится невозможно? Сожитель совершает видеозвонок по скайпу, а вы не хотите ему мешать? Держите файлопомойку, которая занимает весь канал, а QoS настраивать лень? Заливаете видео на youtube с телефона, скорость ограничить не можете?

fq_codel — планировщик пакетов (qdisc) с активным управлением очередью, который решит все ваши проблемы!
Все еще не верите? Посмотрите видео!

На видео видно, что компьютер слева, подключенный через обычный домашний роутер с прошивкой cerowrt (измененный OpenWRT), открывает сайты значительно быстрее, чем правый компьютер с тем же роутером, но со стандартной прошивкой.
Читать дальше →
Total votes 42: ↑42 and ↓0+42
Comments31

Пишем платформер на Python, используя pygame

Reading time11 min
Views355K
image
Сразу оговорюсь, что здесь написано для самых маленькихначинающих.

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

Что такое платформер?


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

Одними из моих любимых игр данного жанра являются «Super Mario Brothers» и «Super Meat Boy». Давайте попробуем создать нечто среднее между ними.
Читать дальше →
Total votes 93: ↑89 and ↓4+85
Comments46

Способ извлечь данные из базы 1С

Reading time11 min
Views103K


Хочу поделиться способом выгрузки данных из 1С на основе COM-соединения. Этот вариант можно назвать альтернативным использованию стандартных и нестандартных обработок 1С. Для примера взят язык C#, а выгрузка выполняется в один большой XML-файл.
Читать дальше →
Total votes 14: ↑9 and ↓5+4
Comments1

Проброс видеокарты в KVM из под ubuntu

Reading time4 min
Views77K

Предистория


Года два назад я решил перейти полностью на линукс, но необходимость в венде не упала, поэтому всегда держал у себя 2 операционные системы. Около месяца назад попробовал поставить VirtualBox и на нее установить Windows, в общем то работать с 2мя операционными системами мне понравилось, но была одна проблема, я программирую исключительно компьютерную графику и мне нужна была поддержка OpenGL 3.3 и выше, к сожалению VirtualBox не предоставлял мне такой возможности. Погуглив наткнулся на такую штуку как Xen, долго пытался что-то сделать на ней, в итоге ничего не вышло, скорее всего из-за основной видеокарты — nVidia GeForce 580 GTX, гипервизор попросту не хотел запускать даже убунту, не говоря уже об виндовсе. Начал искать другие гипервизоры, и наткнулся на KVM, с ним пришлось повозиться, но в конце концов все заработало.

Конфигурация


Итак, нам понадобится:
  • Процессор с поддержкой виртуализации (в Intel — это VT-d, в AMD — AMD-Vi). Важно: чипсет тоже дожен поддерживать эту технологию
  • Материнская плата с блоком управления памятью ввода/вывода(IOMMU)
  • Две видеокарты, для гостевой ОС желательно использовать AMD видеокарту, т.к. с ней проблем не должно быть. Видеокарты NVidia не работают.

Моя конфигурация:
  • Процессор AMD Phenom II x4
  • Материнская плата ASUS M5A99X EVO R2.0
  • Видеокарта для Ubuntu: NVidia GeForce 580 GTX
  • Видеокарта для гостевой ОС: AMD Radeon HD 5800

Читать дальше →
Total votes 47: ↑40 and ↓7+33
Comments20

Intel/AMD Switchable graphics [Ubuntu 12.04 — 12.10]

Reading time2 min
Views32K
Доброго времени суток!

Наконец-то получилось добиться адекватно работающей т. н. «Гибридной графики» на Ubuntu 12.04 LTS (справедливо и для 12.10, также наверняка по этому «мануалу» будет работать и для других Debian-based систем)

В сети есть решения, но честно говоря ни одно из них мне не помогло, сколько я не пробовал.
Например, есть мануал годовой давности от Alexislavie на «Ubuntu Forums» — честно говоря этот способ «убивал» систему 3 раза подряд. Скорее всего проблема в обновлении xorg предложенное там. Да и драйвер там приведен на данный момент весьма старый. Хотя эта инструкция и наиболее близка к правде. Собственно описанный мною способ буквально немного отличается :-) Но работает.
Читать дальше →
Total votes 37: ↑30 and ↓7+23
Comments43

Information

Rating
Does not participate
Registered
Activity