Технофанчик: поднимаем Quake III сервер на Raspberry.

Всем привет, друзья!

Вчера был буржуйский праздник Хэллоуин, а с ним и пятница.
Душа требовала какого-то намека на праздник, пока тело решало рабочие задачи, как, вдруг, глаз зацепился за висящую возле стены Raspberry Pi, про которую я писал вот в этом посте.

Внезапная догадка «а не зарубиться ли нам в контру?» вспышкой озарила мозг, но уже на второй минуте Google'ения на эту тему вырисовался ответ — нет. Counter-Strike сильно не Open-Source и пересобрать под нужную архитектуру его пока не выйдет.

«А в кваку?». А вот здесь, оказывается, раздолье.
Итак, на старте — Raspberry Pi первой версии, и несколько человек с Макбуками (естественно, у всех Mac OS).
Через пару часов уже началось вечернее улюлюканье под гром выстрелов.

Quake III на Macbook, Quake III Server на Raspberry, и Железный Человек

Кому интересно, как это сделать, го под кат.


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

Деплоим на Raspberry, или пилим бэкенды для поделок. Часть 1: сервер в локальной сети.

Всем привет!

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

В воображении сразу вырисовывались какие-то стойки с blade-ами, аренда виртуалки на Digital Ocean, или, на худой конец, круглосуточно гудящий компьютер под столом.

А ведь хочется чего-то тихого, изящного, бесшумного, и желательно бесплатного…

Стоп! Но ведь все уже изобретено до нас!

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

Кому интересно — го под кат (кстати, обратите внимание, как бутербродом напаяны чипы на плате).
Raspberry Pi - 1


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

Git в домашнем хозяйстве. Часть 2: Уоу-уоу потише, не конфликтуй!



Всем привет.
Очень неожиданно, но предыдущая сумбурная и капитанская статья с простыми примерами о том, что Git — штука, в общем-то, не такая уж и замороченная, заслужила внимания. По-этому в этой я хочу раскрыть некоторые вопросы, освещенные в комментариях, а также привести какие-то примеры из жизни разработчиков, использующих Git по GitHub Flow.

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

Я использую Git + командная строка + SourceTree под MacOS и Ubuntu (в убунте xterm). И там и там работа абсолютно идентична.

Что ж, не будем медлить — вперед!

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

Git в домашнем хозяйстве.


Тема крайне капитанская, но, оглядываясь назад, мне бы хотелось заставить себя использовать CVS гораздо раньше, чем я начал)

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

Сам я просто колбасил код на Си и Ассемблере, время от времени сохраняя релизые версии firmware в папочках с соответствующими номерами.
Это, признаться, меня практически не парило, но сейчас я бы так делать не стал.

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

И, кончено же, я использую Git не только на работе, но и дома — потому что от его использования мы получаем следующий профит…


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

Прокачиваем командную строку под Mac

Header

Всем привет.

Я использую Mac для разработки под iOS и под микроконтроллеры (PIC, ARM Cortex-M).
Когда погружаешься в программирование, то жизнь без командной строки становится сложно представить.
Приложение «Терминал» обладает необходимой функциональностью, но работу с командно строкой можно заметно упростить, используя другие инструменты.

Для тех, кто хочет прокачать свой терминал, но почему-то пока еще не сделал этого, добро пожаловать под кат)


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

Вопросы архитектуры кода, или Low Coupling на C. Делегируем обязанности.

Привет-привет, дорогие друзья.

Программирую я на Си не так уж и много, но есть определённый опыт работы на Objective-C, и в парадигме ООП одним из основополагающих принципов является Low Coupling — низкая связанность объектов, которая позволяет максимально легко переиспользовать написанные классы, тем самым увеличивая эффективность разработки в разы.

Естественно, говоря о Си, мы не можем говорить об объектах, но хотелось бы получить слабую связанность модулей, чтобы можно было их легко добавлять в разные проекты, по минимуму задумываясь о том количестве хвостов, что тащит за собой модуль. Один из способов — использовать функции с атрибутами weak alias в GCC. Правильно ли это или нет — я не знаю, возможно есть и решения по-красивее, но цели, которые ставились более-менее достигнуты. Скорее всего речь пойдёт об абсолютно тривиальных вещах, но я реально не знал, как это делается в Си, по-этому Всех кого преамбула заинтриговала, или, может быть, наоборот, заставила негодовать — добро пожаловать под кат)

Delegate Em'All!


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

Базовые макросы. Взгляд из ассемблера ARM Cortex-M.

Всем привет.

Здесь я коротко напишу про вид из ассемблера базовых макросов min(a,b), max(a,b) и isEqual(a,b).

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

Заметка будет короткой и наверняка не интересной для профи, которые знакомы с архитектурой ARM-Cortex, и понимающие отличия ARM-режима процессора от THUMB-режима) Кому все же интересно — добро пожаловать под кат.

we.zloy_pakimon.arm_asm_macro_1



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

Быстро делим на 3

Здравствуйте.

Часто читаю WE, так как интересуюсь программированием микроконтроллеров, и решил наконец-то зарегистрироваться, а заодно и запостить статеечку в личный блог.
Статья будет мало кому интересная по причине вопроса не шибко востребованного — а именно быстрого деления числа любой разрядности на 3.


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