Search
Write a publication
Pull to refresh
6
0.6

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

Send message

Радиомодем за 7 долларов

Reading time6 min
Views137K
Доброе время суток!
Расскажу я как можно собрать себе радиомодем мощностью 100мВт на 433МГц, по стоимости выходящий примерно на 6-7 долларов. Мощный радиомодем за 200 рублей — заманчиво? Тогда начнём.
Внешний вид
Требуются скиллы пайки немного выше среднего и опыт заказа в интернет-магазинах.
Читать дальше →

События, которые повлияли на ваше развитие в детстве

Reading time3 min
Views142K


UPD: игра вышла.

Привет!

Тут такая история. Я заметил, что в какой-то момент стал отмечать для себя важные вещи для развития ребёнка. Например, у меня в детстве был сначала модульный конструктор с мотором, колёсами, батарейками и так далее, а потом – модульный же радиоконструктор. Эти два предмета очень сильно повлияли на то, чем я потом интересовался в будущем.

Ещё пример – в детстве надо обязательно сходить в политехнический и археологический музеи Москвы. Или, например, запомнились такие штуки: первая хорошая НФ, подаренная в 8 лет; дед, научивший меня чертёжному почерку за 15 минут; шахматы каждые выходные; огромная коробка Лего и так далее. И таких событий – тысячи.

У меня просьба. Давайте накидаем важные и интересные вещи, которые можно и нужно сделать с ребёнком до примерно 10 лет. Наверняка ведь у вас есть такие «чекпоинты», которые запомнились.
Читать дальше →

Пора платить: нестандартные способы монетизации софта и цифрового контента

Reading time10 min
Views34K
С появлением Интернета старые способы продажи контента стали работать заметно хуже. Многие схемы продаж изменились и продолжают претерпевать метаморфозы; единого решения до сих пор не придумано. О самых необычных способах заплатить авторам поговорим сегодня.



Подробности

Парадоксы теории множеств и их философская интерпретация

Reading time22 min
Views66K

Краткий синопсис


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

P.S. Весьма «сухой язык», но вполне читабельно после университетской программы. По большей части определения парадоксов брались из Википедии (упрощённая формулировка и готовая TeX-разметка).

Введение


Как сама теория множеств, так и парадоксы, ей присущие, появились не так уж и давно, чуть более ста лет назад. Однако за этот период был пройден большой путь, теория множеств так или иначе фактически стала основой большинства разделов математики. Парадоксы же её, связанные с бесконечностью Кантора, были успешно объяснены буквально за половину столетия.

Следует начать с определения.

Что есть множество? Вопрос достаточно простой, ответ на него вполне интуитивен. Множество это некий набор элементов, представляемый единым объектом. Кантор в своей работе Beiträge zur Begründung der transfiniten Mengenlehre даёт определение: под «множеством» мы понимаем соединение в некое целое M определённых хорошо различимых предметов m нашего созерцания или нашего мышления (которые будут называться «элементами» множества M)[1]. Как видим, суть не изменилась, разница лишь в той части, которая зависит от мировоззрения определяющего. История же теории множеств как в логике так и в математике весьма противоречива. Фактически начало ей положил Кантор в XIX веке, далее Рассел и остальные продолжили работу.

Парадоксы (логики и теории множеств) — (греч. image — неожиданный) — формально-логические противоречия, которые возникают в содержательной множеств теории и формальной логике при сохранении логической правильности рассуждения. Парадоксы возникают тогда, когда два взаимоисключающих (противоречащих) суждения оказываются в равной мере доказуемыми. Парадоксы могут появиться как в пределах научной теории, так и в обычных рассуждениях (например, приводимая Расселом перифраза его парадокса о множестве всех нормальных множеств: «Деревенский парикмахер бреет всех тех и только тех жителей своей деревни, которые не бреются сами. Должен ли он брить самого себя?»). Поскольку формально-логическое противоречие разрушает рассуждение как средство обнаружения и доказательства истины (в теории, в которой появляется парадокс, доказуемо любое, как истинное, так и ложное, предложение), возникает задача выявления источников подобных противоречий и нахождения способов их устранения. Проблема философского осмысления конкретных решений парадоксов — одна из важных методологических проблем формальной логики и логических оснований математики.

Целью данной работы является изучение парадоксов теории множеств как наследников античных антиномий и вполне логичных следствий перехода к новому уровню абстракции — бесконечности. Задача — рассмотреть основные парадоксы, их философскую интерпретацию.
Читать дальше →

Как сделать самую лучшую посадочную страницу: чеклист из 50 пунктов

Reading time5 min
Views98K
Мы в Alconost предоставляем услуги создания и ведения контекстной рекламы и, по долгу службы, иногда занимаемся разработкой посадочных страниц (landing pages). Мы были очень рады найти и перевести статью, в которой автор изложил все требования, которым такая страница должна соответствовать. Но есть в этой статье и большой минус. Пунктов аж 50, каждый можно отметить в чеклисте, но после доступен лишь результат в баллах, которым можно разве что похвастаться перед друзьями.

Мы против таких способов анализа информации. Потому каждый желающий может скачать подготовленную нами гуглотаблицу, ответить на вопросы “Да” или ”Нет”, отфильтровать ответы и получить результат и план действий.

Те, кому в гуглотаблицу не хочется, просим под кат. Там перевод.



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

Как я делал второй монитор из дисплея ноутбука

Reading time3 min
Views519K

Так получилось, что у меня в руках оказался мертвый ноутбук HP 625 с матрицей 15.6” и контроллер LCD панели NTA92C VGA/DVI.Тратится на восстановление ноутбука желания не было никакого, так что решено было слепить из вышеуказанных деталей второй монитор, да так, чтобы с креплением к VESA обычного монитора. С минимальными для меня временными и финансовыми затратами в рамках «проекта выходного дня».
Читать дальше →

QtCreator: Qt кросс-компиляция из linux 64 в linux 32, win32, win64 и Mac OS X; upx, usb, dmg, etc

Reading time14 min
Views83K


Библиотека Qt позволяет делать действительно кроссплатформенные приложения. Единожды написанный код можно откомпилировать под многие операционные системы. Но проблема именно в слове «компилировать», т.к. подразумевается, что необходимо перезагрузиться под целевую систему, иметь в ней настроенную среду разработки, установленный и настроенный зоопарк библиотек. Спасает кросс-компиляция — компиляция, производящая исполняемый код для платформы, отличной от той, на которой исполняется.
Читать дальше →

Интеграция C++ с QML

Reading time8 min
Views68K

Вступление


Язык QML для Qt Quick позволяет c легкостью делать многие вещи, особенно что касается анимированных пользовательских интерфейсов. Однако, не всё возможно сделать или не всё подходит под реализацию в QML, в частности:

  • получение доступа к функциональности извне окружения QML/Javascript
  • реализация критических по производительности функций, где требуется нативный код для повышения эффективности
  • большой или сложный не декларативный код, который было бы утомительно реализовывать в JavaScript

Как Вы увидите впоследствии, Qt легко отображает C++ код для QML. В этой статье мы создадим маленькое, но функциональное приложение, делающее это. Пример написан для Qt 5 и использует компоненты Qt Quick, поэтому для запуска примера Вам необходим как минимум Qt 5.1.0.
Подробней

Linux для профессионалов: как подготовить макет к печати в типографии

Reading time9 min
Views48K

Небольшая преамбула


Коллеги, я тут некоторое время назад подумал, что было бы неплохо завести нечто вроде коллективной рубрики «Linux для профессионалов», в которой рассказывать о том, как организуют свою деятельность специалисты, использующие Linux для каждодневной работы и, вопреки общепринятому мнению, при этом не являющиеся ни программистами не системными администраторами ни «технофриками» вообще. Было бы здорово, если бы уважаемые читатели — пользователи Linux делились бы собственным опытом. Чтобы бросить «пробный шар», я, с вашего позволения, для начала попробую поделиться моим опытом подготовки дизайн-макета к печати.

Я намеренно не хочу затрагивать такие комплексные аспекты, как редактирование изображений и подготовка трехмерных визуализаций в Blender. Так же я не ставлю задачу обучить читателя пользоваться профессиональным инструментарием. Для этого есть документация и масса пользовательских ресурсов. Цели настоящей серии я бы очертил так:

  • Устранить предвзятое мнение относительно невозможности использования *nix систем для профессиональной деятельности отличной от работы программиста или администратора сети;
  • Показать, что за счет модульности архитектуры *nix систем и использования программного обеспечения с открытым исходным кодом, следующего стандартам POSIX, многие операции, на которые в привычном рабочем окружении я ранее тратил часы а то и дни, могут весьма просто автоматизироваться, либо решатся за считанные минуты;
  • Поделиться опытом и показать, какой инструментарий выбирают специалисты (в частности, какой выбрал я в процессе поисков) и какие решения могут быть наиболее приемлемы для тех или иных задач.


Собственно, в качестве первого примера я решил рассмотреть подготовку макета буклетов для двух моих проектов.

Буклеты: пражский электронный GPS путеводитель и Interplay Medium

Это тиражный результат. Прошу прощения за качество снимка, была только настольная лампа под рукой, если кто хочет посмотреть оригинал, вот буклет про GPS аудиогид в PDF формате с редуцированным разрешением растровой графики.

Ниже я расскажу о ключевых этапах и проблемах, которые пришлось решать в процессе.
Подготовка иллюстраций....

Файл, который нужно закоммитить перед уходом с работы

Reading time2 min
Views113K
Немножко пятничного настроения в субботу. Я думаю, все видели этот код:

image

Но Aras Pranckevičius пошел еще дальше. Как написать код, который не так просто обнаружить?
И если вначале идут простые примеры, то дальше начинается…
Осторожно, чистое зло

Шесть загадок по С++

Reading time5 min
Views38K
В очередной раз наступив на досадные необязательные грабли, я решил систематизировать свои знания о них. Если вы какое-то время разрабатываете на C++, то можете и не найти здесь ничего нового, но кому-то приведенный в статье материал точно поможет. Если бы я знал это лет пять назад, то однозначно сэкономил бы несколько безвозвратно потерянных дней жизни и нервных клеток.

Чтобы было интереснее, материал представлю в виде простых задачек. Сразу подчеркну, что я не считаю приведенные примеры просчетами языка. Во многом появляется смысл и логика, если вопрос обдумать. Это скорее случаи, когда может отказать интуиция, особенно если голова забита чем-нибудь еще. Есть и пара примеров вида «Ну чего этому компилятору надо, только что то же самое работало!»

И последнее замечание. Это не будут задачи на внимательность типа «Тут я поставил точку с запятой сразу после for — а никто и не заметил». Проблемы не в опечатках. Все необходимые библиотеки можно считать подключенными — не относящийся к описываемой ситуации код я опускал, чтобы не загромождать статью.
Читать дальше →

Сенсорная крышка для мусорного ведра своими руками

Reading time4 min
Views130K
image

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

Ведро использовано металлическое блестящее, крышка открывается педалью, такие ведра можно найти во многих магазинах.
Для доработки ведра использованы ИК светодиод, ИК приемник, сервопривод, микроконтроллер.
Управление и контроль перегрузки сервопривода осуществляется c помощью микроконтроллера ATtiny44A фирмы Atmel.

Программа управления написана на C в Atmel Studio 6.1.
Читать дальше →

DIY-диммер «Умного дома» на тестовой плате

Reading time2 min
Views96K
image

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

Использование Paint в качестве редактора уровней

Reading time8 min
Views24K
Всю сознательную программистскую деятельность я увлекался созданием игр и не любил делать редакторы и прочие утилиты. Главным моим редактором почти всегда был Paint. Но для игр, в которых уровень статичен и состоит из тайлов (Марио подобные и прочие танчики), это более-менее оправдано, т.к. одному пикселю из файла уровня, созданного в Paint, соответствует тайл в игре. А что если требуется создать игру, где нет тайлов, а игровая локация состоит из неровных скалистых пещер. Или игру, в которой много движущихся элементов (летающие платформы, лифты, циркулярные пилы, вращающиеся по окружности).

Создавать редактор для таких целей мне по-прежнему не хотелось. О том, как я это решил с помощью Paint опишу в этой статье.
Читать дальше →

Linux pipes tips & tricks

Reading time8 min
Views195K

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(), а также, что оба процесса выполняются параллельно в разных потоках.
Читать дальше →

Биопринтер своими руками

Reading time11 min
Views118K
image
От переводчика: Это руководство поможет вам создать биопринтер из подручных материалов (не путать с 3D биопринтером!!!, об этом в следующий раз).

Биопечать — это печать биологическими материалами. Думайте об этом как о 3D печати, но спрессованными ингредиентами! Большая работа была проведена исследовательскими лабораториями и крупными компаниями, такими как Organovo занимающимися проблемой печати человеческих тканей и органов человека, с целью тестирования лекарств, и трансплантации органов людям.
Все это звучит невероятно сложно, но дело в том, что основные технологии широко доступны — все это основано на струйной и / или 3D-печати! Так что мы на BioCurious решили поиграть с этой технологией сами — и проект BioPrinter Community появился на свет!


Много картинок и букв

Создание видео редактора — полезные рецепты avconv (ffmpeg)

Reading time8 min
Views27K


Недавно потребовалось написать небольшой видеоредактор с веб-интерфейсом.
До этого изредка доводилось пользоваться командами типа
ffmpeg -i file.avi file.mp3

в основном для конвертации из одного формата в другой. Все всегда было более менее гладко и сложно было представить, сколько на самом деле существует всяких нюансов для работы с видео и аудио.
Но начнем с начала. С некоторых пор моя ubuntu начала выдавать:
*** THIS PROGRAM IS DEPRECATED ***
This program is only provided for compatibility and will be removed in a future release. Please use avconv instead.

В целом, пока это использовалось по-мелочам, это было не особо важно, но закладывать уже устаревающую фичу в проект как-то «не оно». Пришлось гуглить что к чему и выяснилось, что проект ffmpeg некоторое время назад раскололся и часть разработчиков занялась созданием библиотеки libav, которая и включена в настоящее время в ubuntu по-умолчанию. Разумеется, совместимость передовых фич была принесена в жертву первой. Заодно и с переименованием проекта исполняемый файл ffmpeg был переименован в avconv, о чём и было вышеупомянутое предупреждение.

Под катом небольшая выжимка основных фич, которые пригодились.
Читать дальше →

Коктейли ко дню программиста

Reading time5 min
Views189K
Здравствуй, Хабр!

Осталось несколько дней до дня программиста и, конечно, в эту 13-ю пятницу, многие из пользователей хабра буду отмечать этот праздник. Буду отмечать и я.

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

Все началось вот с чего: моя супруга увлекается кулинарией и ведет небольшой кулинарный блог. В прошлом году на мой день рождения она пригласила к нам в гости на кухню настоящего бармена из барного startup-проекта БАРаДОМа.нет. С момента знакомства с Артёмом (барменом который превратил мой день рождения в домашнюю барную вечеринку), у меня появилась идея: найти рецепты (или придумать самим) коктейлей, которые бы вписались в IT-тематику.

Итогом нескольких дней активной переписки с Артёмом стала вот такая небольшая коктейльная карта:

  • Ruby
  • Python
  • Суровый Perl
  • JMP (aka Assembler)
  • Profit!
  • Epic fail
  • Memory leak


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

Чин-чин!

RosSpam.org или как пожаловаться на SMS-спам в пару кликов

Reading time2 min
Views29K

С каждым днем мы получаем все больше и больше рекламных SMS. Такой вид рекламы очень хорош для рекламодателя — получателю сообщения всегда проще его удалить, чем пожаловаться. Ну, кто пойдет на сайт какого-нибудь сервиса, введет кучу данных об полученной SMS, чтоб, может быть, отписаться от данного отправителя, а на следующий день получить SMS-спам от нового?
Есть идея!

Простая 4-х цветная многоканальная гирлянда на основе микроконтроллера ATTINY13A

Level of difficultyMedium
Reading time7 min
Views65K
Как говорится в народе — готовь сани летом…
Наверняка на новый год украшаете ёлку всевозможными гирляндами, и скорей всего они уже давным давно приелись однообразием своего мигания. Хотелось бы сделать что-то такое чтобы ух, прям как на столичных елках мигало, только в меньшем масштабе. Или на крайний случай — повесить на окно, чтобы эта прям красота освещала город с 5-го этажа.
Но увы, в продаже таких гирлянд нет.

Собственно, именно эту проблему и пришлось решать два года назад. Причем, из-за лени от задумки до реализации прошло как обычно 2 года, и делалось все в последний месяц. Собственно, у вас времени будет больше(или я ничерта не смыслю в человеческой психологии, и все точно так же будет делаться в последние 2 недели перед новым годом?).

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

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

Information

Rating
3,399-th
Registered
Activity