Как стать автором
Поиск
Написать публикацию
Обновить
1
0
Демидюк Денис @iDennis

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

Отправить сообщение

Почему трава зеленая, а программисты крутые

Время на прочтение6 мин
Количество просмотров156K


Я люблю находить на новостных ресурсах статьи о том, что программисты получают очень много денег. Я сразу пролистываю их до комментариев и с теплом в душе читаю гневные отзывы о том, что программисты ничего не делают и не заслуживают таких денег. Но после прочтения возникает мысль: знают ли они, кто такие программисты? Или они исходят в своих суждениях из неверного знания, даже не подозревая об этом. Например, мало кто знает, почему трава зеленая. Подумайте об этом. Следует ли из ваших объяснений зелености травы именно зеленый цвет?
Читать дальше →

Кто есть кто: Умные часы

Время на прочтение28 мин
Количество просмотров147K
Этот год определенно стал годом носимых устройств, в том числе и «умных часов». Такое ощущение, что количество умных часов растет в геометрической прогрессии. Мы насчитали уже больше 50 часов (и это за исключением фитнес-трекеров, которые умеют показывать время) которые уже продаются или будут продаваться в ближайшее время.



Но все ли часы одинаково полезны? Чем они отличаются? Сейчас расскажем.
Под катом исследование рынка умных часов

Тренировка мозга и ее геймификация

Время на прочтение5 мин
Количество просмотров41K

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

Творческое мышление


Представим задачу стоящую перед творческим мышлением в виде абстрактной двухмерной плоскости, на которой где-то находятся несколько точек приемлемых решений. Перед человеком стоит проблема найти одну из таких точек-решений, но сложность состоит в невозможности перебрать все возможные варианты, поэтому в большинстве случаем на помощь приходит озарение. Классическая схема решения творческой задачи состоит из стадий
1) Подготовка — формулирование задачи
2) Инкубация — временное отвлечение от задачи
3) Озарение — появление интуитивного решения.
Читать дальше →

Суммирование расходящихся рядов методами Абеля, Бореля, Чезаро и Дирихле

Время на прочтение7 мин
Количество просмотров52K

Перевод поста Давендра Кападия (Devendra Kapadia) "The ABCD of Divergent Series."
Выражаю благодарность за помощь в переводе Андрею Дудину.


Какова сумма всех натуральных чисел? Интуиция подсказывает, что ответ — бесконечность. В математическом анализе сумма натуральных чисел является простым примером расходящегося ряда. Тем не менее, математики и физики сочли полезным придать дробные, отрицательные и даже нулевые значения суммам таких рядов. Цель моей статьи — желание отодвинуть завесу тайны, окружающую результаты суммирования расходящихся рядов. В частности, я буду использовать функцию Sum (функция поиска частичных сумм, рядов и т. п. в Mathematica), а так же другие функции в Wolfram Language для того, чтобы объяснить в каком смысле стоит рассматривать следующие утверждения:

Summirovanie-rashodjashhihsja-rjadov_1.gif


Важность обозначений формул буквами A, B, C, и D вскоре станет вам понятна.
Читать дальше →

Автоматическая оптимизация алгоритмов с помощью быстрого возведения матриц в степень

Время на прочтение20 мин
Количество просмотров84K
Пусть мы хотим вычислить десятимиллионное число Фибоначчи программой на Python. Функция, использующая тривиальный алгоритм, на моём компьютере будет производить вычисления более 25 минут. Но если применить к функции специальный оптимизирующий декоратор, функция вычислит ответ всего за 18 секунд (в 85 раз быстрее):


Дело в том, что перед выполнением программы интерпретатор Python компилирует все её части в специальный байт-код. Используя метод, описанный хабрапользователем SkidanovAlex, данный декоратор анализирует получившийся байт-код функции и пытается оптимизировать применяющийся там алгоритм. Далее вы увидите, что эта оптимизация может ускорять программу не в определённое количество раз, а асимптотически. Так, чем больше будет количество итераций в цикле, тем в большее количество раз ускорится оптимизированная функция по сравнению с исходной.

Эта статья расскажет о том, в каких случаях и каким образом декоратору удаётся делать подобные оптимизации. Также вы сможете сами скачать и протестировать библиотеку cpmoptimize, содержащую данный декоратор.
Читать дальше →

Отладка и оптимизация скриптов gstreamer на примере онлайн трансляции (live streaming)

Время на прочтение4 мин
Количество просмотров17K
Gstreamer — самая популярная *nix библиотека для работы с видео, которая является основой для большинства популярных приложений (основной список можно найти здесь).

image

Однако, столь гибкий инструмент требует тонкого подхода для стабильной и эффективной работы.
Все действия будут рассмотрены на примере онлайн HD трансляции с HDMI входа по RTMP с помощью blackmagic intensity pro, Debian Linux, gstreamer и Nginx.
Читать дальше →

Разработка сайтов (веб-приложений) на C++ (и не только) в виде подключаемых библиотек (*.so, *.dll)

Время на прочтение4 мин
Количество просмотров53K

Введение (лирика)


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

Но, в то же время, меня всегда привлекало низкоуровневое программирование. Ещё во время учёбы мне очень понравился язык программирования C++. Только негде было его применять, кроме как для своего развлечения. Дальше я опустился пониже — изучил Assembler. Понял, как работает процессор (хотя слишком поверхностно) и как выполняются программы на самом деле.

Со всем этим набором знаний и опыта я попал в веб-разработку. Всё поначалу казалось весьма и весьма хорошо, оказалось гораздо проще, чем я думал. А со временем приелось, стало слишком просто, неинтересно, нет простора для оптимизаций и интересных решений. Генерируешь веб-странички, пишешь и подключаешь js-скрипты, оформляешь страницы с помощью css. Чувствовал, что больше не развиваюсь как программист.
Читать дальше →

Python на Assembler (Tasm)

Время на прочтение3 мин
Количество просмотров29K
Сегодня напишем в текстовом режиме с использованием прерываний BIOS и DOS змейку на Assembler. Для этого нужно знать основы, уметь ассемблировать (Tasm) и компоновать (Tlink) код.

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


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

Дайджест интересных материалов из мира веб-разработки и IT за последнюю неделю №125 (8 — 14 сентября 2014)

Время на прочтение5 мин
Количество просмотров35K
Предлагаем вашему вниманию подборку с ссылками на полезные ресурсы, интересные материалы и IT-новости


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

Поиск простого на сложном: tips & tricks

Время на прочтение5 мин
Количество просмотров20K
Достался мне тут довольно интересный проектик: на рентгенограммах сварных швов находить проволочные образцы стандартных размеров. Казалось бы, сколько уже было написано по поводу поиска паттернов на изображении, выработаны стандартные подходы и методики, но когда речь заходит о реальных задачах академические методы оказываются не настолько эффективны, как от них ожидается. Для затравочки, попробуйте найти здесь все семь проволочек:

image

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

ESP8266: Революция в мире интернета вещей

Время на прочтение4 мин
Количество просмотров342K


В не столь далекие времена поддержка устройством Wi-Fi-соединения была дорога, громоздка и не энергоэффективна. Разработчики вынуждены были использовать радиоинтерфейсы на базе различных конкурирующих решений. Выдумывали свои «велосипеды» на уровне протоколов. И попадали в заветный Wi-Fi только с использованием дополнительных устройств, реализующих функционал моста. Стоивших весьма заметные деньги.

Но жизнь идет. Технологии стремительно развиваются. Термин «Интернет вещей» все чаще на слуху. Многим производителям микросхем, большим и не очень, наконец-то стало актуальным решить извечную проблему интеграции Wi-Fi в небольшие и недорогие устройства. Чтобы иметь возможность подключить их напрямую в инфраструктуру, уже имеющуюся почти в каждом жилище. Чтобы отъесть как можно больший кусок грядущего нового рынка подключаемых к сети простых устройств.

В 2014 году сразу несколько производителей объявили о выпуске соответствующих наборов микросхем. Сегодня речь пойдет о чипе ESP8266 китайской компании Espressif. Модулями UART-WIFI на базе этого чипа уже наводнен весь Китай и стоят они всего от $4,5 (с бесплатной международной доставкой).
Читать дальше →

Дайджест интересных материалов из мира веб-разработки и IT за последнюю неделю №122 (24 — 31 августа 2014)

Время на прочтение5 мин
Количество просмотров36K
Предлагаем вашему вниманию подборку с ссылками на полезные ресурсы, интересные материалы и IT-новости.


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

Тестируем новый тип бэкапа MySQL

Время на прочтение3 мин
Количество просмотров22K
Бэкапы MySQL бывают 2 основных разновидностей это:

Логический бэкап

Создается текстовый дамп из SQL-запросов, как в mysqldump или Sypex Dumper.

Физический бэкап

Делаются точные копии файлов таблиц, типичный представитель mysqlhotcopy.

В процессе работы над новой версией Sypex Dumper и Sypex Backuper, пришел к еще одному интересному варианту горячего бэкапа MySQL. Который представляет собой, что-то среднее между двумя этими вариантами.

Но для начала рассмотрим основные достоинства и недостатки. Кто вместо теории хочет сразу перейти к практике — внизу поста найдете ссылку на тестовый скрипт.
Читать дальше →

Несколько интересностей и полезностей от веб-разработчика *

Время на прочтение12 мин
Количество просмотров44K
* Надеюсь, ilusha_sergeevich не обвинит меня в плагиате.
Если что, пост переименую.

[Тут была картинка для привлечения внимания]



Всем привет! За время работы постепенно накапливаются наработки, которыми можно было бы поделиться с сообществом. Но ни одна из этих наработок не тянет на большой полноценный пост. Поэтому я собрал все мелочи, что вспомнил, в одной статье: несколько простых опен-сорц проектов, пара советов и находок. Каждый из предложенных скриптов в этой статье поставляется как есть, под лицензией WTFPL (кроме Балалайки). С радостью приму пулл реквесты с исправлением багов или изменениями в README.


donut.js — микро-библиотека, рисующая бубликовые (donut) и круговые диаграммы


image
Во время работы над очередным проектом, появилась задача нарисовать много информативных бубликов на карте мира, и не просто нарисовать, а еще и поддержать ИЕ8, который, как известно, не умет SVG, а только безобразный VML. Первое, что приходит в голову, это Raphael. Порывшись некоторое время, я нашел это решение. К сожалению, автор проявил изобретательность простым хаком: на круговой диаграмме (pie chart) он нарисовал белый круг. Это решение не подошло, так как дырка бублика должна быть прозрачной. Изучение возможности рисования при помощи Raphael таких диаграмм мне показалось чересчур трудоёмким. Остальные скрипты на просторах интернета мне так же не подошли. Пришлось писать свой костыль, взяв за основу математику рисования арок этого проекта. Арки для VML версии нарисованы используя элемент arc.
var myDonutDiv = donut(options);

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

У нас есть C++ 14!

Время на прочтение2 мин
Количество просмотров53K

C++ 14 готов!

По итогам заседания Исаква (Вашингтон, США) в феврале, мы запустили голосование за черновик международного стандарта (DIS) для следующего C++ стандарта. Это голосование завершилось в пятницу.

Сегодня мы получили уведомление, что голосование было единогласно успешным и следовательно мы можем приступить к публикации. Мы будем выполнять некоторые окончательные редакционные штрихи, для исправления некоторых орфографических опечаток и случайно пропущенных слов, а затем передадим этот документ в ISO для публикации в этом году как совершенно новый международный стандарт ISO/IEC 14882:2014(E) языка программирования С++, также известный как С++14.
Читать дальше →

Переезд электронщика в Шэньчжэнь. А стоит ли ехать так далеко?

Время на прочтение7 мин
Количество просмотров58K


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

Это город Зеленоград


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

Муниципалитет Мюнхена избавится от Linux на рабочих станциях

Время на прочтение3 мин
Количество просмотров88K
Потребовалось целых 10 лет на то, чтобы в Мюнхене (Германия) задумались о том, как бы избавиться от Linux на рабочих станциях. В 2004 году городской совет решил, что будет дешевле и надежнее перевести 15000 компьютеров на Linux, отказавшись от Windows и других продуктов Microsoft. Как сообщает «Южногерманская газета» Suddeutsche.de (крупнейшая ежедневная газета Германии), из-за бесчисленных нареканий пользователей город планирует заключить контракт с независимой экспертной группой для разработки плана по избавлению от технически отстающего и нефункционального программного обеспечения.
Читать дальше →

Инженерная культура, которую мы потеряли?

Время на прочтение5 мин
Количество просмотров243K

Этот пост, наверно, правильно воспринимать как крик души, как попытку найти поддежку в профильном сообществе и окончательно не потерять веру в текущий уровень высшего инженерно-технического образования. То, что сейчас все крайне непросто в этой сфере, не говорит только ленивый, но я хочу постараться дать вам некую объективную информацию, а выводы… Выводы, думаю, все сделают сами. Кому интересно, прошу под кат.
Читать дальше →

Учим детей делать игры

Время на прочтение4 мин
Количество просмотров52K
Хочу рассказать о некоммерческом проекте Кодабра. Здесь мы учим детей программировать и создавать игры.



Предыстория

Как-то пришло осознание того, что максимум удовольствия в этой жизни фаундерам приносят три процесса — программирование, обучение других и общение с детьми. Мысли стали активно бурлить по поводу школы для детей, а активные действия начались с января 2014. Нас вдохновили такие проекты как codeclub.org.uk, code.org, cs-first.com. И мы решили использовать их опыт и организовывать бесплатные уроки на базе существующих школ, детских домов и иных детских учреждений.

Явный акцент сделали на мотивацию детей. Мы учим их делать мультфильмы, компьютерные игры, творить в цифровой вселенной.
Читать дальше →

Визитки 2.0: Добавим немного NFC-магии

Время на прочтение8 мин
Количество просмотров86K
Визитные карточки – такая же привычная часть бизнеса, как и электронная почта или телефон. Многие уже давно предрекают им смерть в связи с «прогрессом» QR-кодов, соцсетей и передачи файлов, но они до сих пор живее всех живых. Мы пока не можем обойтись без бумажных карточек для передачи контактных данных нашим клиентам и партнёрам. QR-коды не стали популярными, так как требовали установки дополнительных приложений, хорошего освещения и были слишком громоздкими для хранения всех нужных данных. В соцсетях зарегистрированы не все и хранить там персональные данные порой непозволительная роскошь. А передача файлов с помощью различных технологий типа AirDrop, Alljoyn или Beam, будем честны, пока недостаточно удобна и широко распространена.

И всё-таки есть способ добавить немного магии в ваши бумажные визитки и быстро передать ваши контактные данные прямо в записную книжку телефона партнёра. Я говорю об NFC.

Собственно, с бумажными визитками понятно, что делать: сканируем и распознаем с помощью ABBYY Business Card Reader и сохраняем в контакты. Но вот для того, чтобы добавить визиткам «айтишность» и некоторый шарм, нужно что-нибудь дополнительное. В этой роли отлично сыграет NFC-метка.

Узнать больше

Информация

В рейтинге
Не участвует
Откуда
Брест, Брестская обл., Беларусь
Дата рождения
Зарегистрирован
Активность