negamaxi

negamaxi

пикабушник
поставил 64 плюса и 0 минусов
проголосовал за 0 редактирований
сообщества:
2388 рейтинг 44 подписчика 208 комментариев 15 постов 1 в "горячем"
2218

Децентрализованный музыкальный проигрыватель

Всем привет. Хочу рассказать о проекте, над которым работаю в свободное время. Назвал я его «Патефон» и это полностью децентрализованный, распределённый, безсерверный, p2p музыкальный проигрыватель. Вот так выглядит актуальная версия программы:

Децентрализованный музыкальный проигрыватель P2p, Децентрализация, Музыка, Плеер, Халява, Open Source, Приложение, Длиннопост, Скриншот

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


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


P2P-системы известны своей устойчивостью к цензуре, блокировкам и региональным ограничениям. «Патефон» не исключение, поэтому будет работать хоть за Великим Китайским Фаерволом, хоть в КНДР, хоть на Марсе (наверное, не проверял).


Кроме того, если пользователю отключат интернет, он всё ещё сможет пользоваться приложением в своей домашней сети чтобы, например, слушать на ноутбуке музыку, расшаренную со стационарного PC.


Всё описанное выше доступно в актуальной версии приложения. Дальше я расскажу о запланированных нововведениях.


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


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


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


Кроме того, есть планы на «безголовую» версию приложения, которую можно будет запустить на домашнем медиасервере и подключаться к ней с остальных устройств через браузер. Если вы пользуетесь Plex, то знаете, насколько это удобно.


А теперь о недостатках:


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


- Каждый раз, когда вы расшарите альбом, он будет скопирован в специальную папку. Таким образом на каждый гигабайт опубликованной музыки будет занят ещё один гигабайт. Но это не навсегда.


- «Патефон» не обеспечивает анонимности пользователя. Не составит большого труда посмотреть, что вы раздаёте, и «вычислить вас по IP».


- Приложение всё ещё на ранней стадии развития, так что если словите баг - не удивляйтесь а смело репортите issue на GitHub.


- - - - - - - - - - - - - - -


Вот и всё. Если проект вас заинтересовал, то добро пожаловать на:


Сайт приложения

Твиттер

GitHub


Актуальные версии программы доступны как на сайте, так и на GitHub. Есть сборки для Mac, Linux и Windows.


- - - - - - - - - - - - - - -


Технические детали


«Патефон» использует современный протокол распределённого обмена данными IPFS («МежПланетарная Файловая Система»). Если вы смотрели «Кремниевую долину», то что-то очень похожее разрабатывают главные герои последние два сезона.


Само приложение написано на Electron.js — популярном кроссплатформенном фреймворке для создания десктопных приложений при помощи стандартных веб-технологий.


Спасибо за внимание! Отдельная благодарность @DEgITx за помощь в разработке и подготовке статьи к публикации.

Показать полностью
5

"Звёздные Войны" как инструмент пропаганды

На днях нарвался в TJournal на статью про хэштэг-движ #DumpStarWars. Если коротко, то кто-то пустил в твиттере слух про то, что в "Изгой-один" добавят сцену с наездами на Трампа, и сторонники избранного прездента начали призывать людей не идти в кино.


Была у этой истории прелюдия, из-за которой, думаю, многие из сторонников Трампа на этот вброс и купились. Через пару дней после выборов сценаристы "Изгоя-один" сделали не самые удачные твиты в своей жизни. Вот, что об этом пишут в той же статье TJournal:

"Звёздные Войны" как инструмент пропаганды ЛГБТ, Дональд Трамп, Star Wars, Пропаганда, Tjournal, Длиннопост

Но автор статьи по какой-то причине перевёл цитату не дословно, немного сгладив углы. Вот скрин оригинального твитта Вайца.

"Звёздные Войны" как инструмент пропаганды ЛГБТ, Дональд Трамп, Star Wars, Пропаганда, Tjournal, Длиннопост

Скрин дополнения Уиттома не нашёл, но во всех англоязычных источниках его цититруют так: "Opposed by a multicultural group led by brave women".


По итогу дословный перевод двух твиттов звучит как-то так: "Прошу обратить внимание, что Империя - (человеческая) организация белых супремасистов... Которой противостоит мультикультурная группа во главе с отважной женщиной".


Потом, конечно, твитты потёрли, когда потекло по трубам.

"Звёздные Войны" как инструмент пропаганды ЛГБТ, Дональд Трамп, Star Wars, Пропаганда, Tjournal, Длиннопост

Другой занятный перл выдали на пару режиссёр "Пробуждения Силы" Дж. Дж. Абрамс и Марк Хэммил - актёр, сыгравший Люка Скайуокера. Первый как-то в интервью заявил, что было бы неразумно предположить, что во вселенной Звёздных Войн не найдётся персонажа-гомосексуалиста, и выразил уверенность, что такие персонажи появятся в будущих фильмах.


На это отреагировал исполнитель роли Люка, который оставил вопрос сексуальной ориентации своего персонажа открытым: "Если Вы считаете, что Люк - гей, то, конечно, так и есть. Не стоит стыдиться этого. Судите Люка по его персонажу, а не по тому, кого он любит".


Лично мне было бы интересно послушать мнение по этому поводу непосредственно создателя персонажа - Джорджа Лукаса. В книгах (которые уже вроде как не канон, а просто "Легенды") Люк женился вот на этой рыжей красотке, которая потом родила ему сына.

"Звёздные Войны" как инструмент пропаганды ЛГБТ, Дональд Трамп, Star Wars, Пропаганда, Tjournal, Длиннопост

Имхо очевидно, что Звёздные Войны пробуют использовать в качестве готовой площадки для пропаганды актуальных на западе социально-политических идей. Не в том смысле, что это какой-то заговор серых кардиналов, а просто такие у них там времена, такой информационный фон.


БЗВ. Я из тех извращенцев, кому понравился "Александр", так что мне по барабану ориентация персонажей, пока они похожи на живых людей, а не сферических коней в вакууме. А в деле пропаганды всегда получается второе.

Показать полностью 2
3

Вопрос экспертам

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

-2

Реалити шоу "Как стать айтишником", отчёт за 2 недели

Продолжаю эпопею http://pikabu.ru/story/iz_nedozhurnalistov_v_nedoprogrammist.... Если вкратце, я решил забить на диплом журналиста, попробовать в программирование и сделать из этого видео-блог.


Что я скажу. Не так всё просто. Понтов было на "сайт за пол недели", а закончилось вот только на днях. Сперва я решил сделать выпуск о том, как оформить шустрое рабочее окружение из голой Ubunt'ы. Честно скажу, первая версия этого выпуска меня настолько выбесила, что я снёс к чертям всё, что сделал за два с лишним часа (в том числе и установку Убунты) и на следующий день устанавливал, настраивал и записывал всё с самого начала. Как думаете, во второй раз получилось лучше? Нет, и это меня выбесило. Я впал в апатию, но внезапно это сыграло мне на руку: положив на свой бесконечный перфекционизм немного похуизма я выложил выпуск в таком виде и с тех пор больше не парился.


Кстати, вот такой рабочий стол у меня по итогу:

Реалити шоу "Как стать айтишником", отчёт за 2 недели Программирование, Веб-Дизайн, Длиннопост

Потом пару дней пришлось потратить на то, чтобы по-нормальному создать YouTube канал, о чём тоже записал отдельный выпуск. Только к третьему выпуску я наконец подобрался к сути дела - начал писать свой первый (с оговорками) сайт - draftup.org.


Несмотря на то, что базовые вещи мне удалось осилить уже в первом выпуске, постоянно что-то мешало довести дело до конца, и деплой сайта на сервер постоянно откладывался. В итоге создание сайта растянулось на 5 выпусков (~8 часов), плюс отдельные выпуски под настройку Git'а и создание логотипа в GIMP / Inkscape (угнал у MaterialUp / last.fm).

Реалити шоу "Как стать айтишником", отчёт за 2 недели Программирование, Веб-Дизайн, Длиннопост

Самое смешное (кому как), что многие из возникших по ходу дела проблем были на самом деле не проблемами, а моими загонами. Половину 5 выпуска я подбирал цвет двум строчкам - как это по-другому назвать? Лишний раз убедился, что терпеть не могу всё, что связано с графическим дизайном. Никаких чётких целей и задач, надо что-то там "видеть".


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

Реалити шоу "Как стать айтишником", отчёт за 2 недели Программирование, Веб-Дизайн, Длиннопост

Из более серьёзных проблем - отдельные css-правила, особенно flexbox. Его поведение разбито на большое количество отдельных правил, что постоянно сказывается на производительности мыслительных процессов. Особенно когда пишешь в час ночи. В одном из выпусков я минут пять искал причину одного косяка, пока не допёр, что забыл перезагрузить страницу.


Но в целом не было таких проблем, которые нельзя было решить при помощи гугла и Stack Overflow. Самая сложная стадия, которую я запомнил с моих прошлогодних экспериментов - собственно залив сайта на сервер - внезапно прошла как по маслу, пусть из этого и получился самый длинный выпуск. Но тут надо сказать спасибо туториалам от хостинг-провайдера. Всё расписали как для детей, от установки пароля до настройки SSL-шифрования (год назад с этим был адский ад).


Ну и собственно, что в итоге по цифрам:

- 81 строчка HTML

- 326 строчек CSS (включая промежутки)

- 8 строчек JS (серверная часть)


И выглядит всё это дело вот так:

Реалити шоу "Как стать айтишником", отчёт за 2 недели Программирование, Веб-Дизайн, Длиннопост

Примитивная хтмл-страничка со стилями, без клиентского javascript'а. Серьёзные сайты так не делаются, но, как сказали в одном фильме, сперва изучи классику, а лишь потом берись за современное искусство. Само собой, я не перестану над ним издеваться, у меня ещё много вопросов осталось, которые неплохо было бы разобрать (оптимизация загрузки, например). Но графу "Наши проекты" тоже надо как-то заполнять. Пока там одни единственный проект, который мы пилим с друзьями, и этого маловато. По этой причине я решил не ходить вокруг да около, а начать пилить со следующей недели социальную сеть. Ба.


В этот раз всё будет по-взрослому: Webpack для разработки, React для клиента, возьмусь за серьёзные базы данных и вообще пущу бороду и куплю велосипед. Такие дела, ждите новостей.

Показать полностью 3

ItGum 1 : Настройка рабочего окружения Linux для работы на старом ноуте

В продолжение http://pikabu.ru/story/iz_nedozhurnalistov_v_nedoprogrammist...


Перед тем как с головой погрузиться в мир фротненд-разработки решил настроить для себя шустрый и легкий рабочий стол, бо работать придётся на старом лаптопе. За основу взял Федору Убунту Линукс, причём мини-издание, чтобы в комплекте шло лишь минимально-необходимое, а всё остальное я доставлял ручками.


Честно скажу - большая часть выпуска досталось наведению красоты, а то дефолтный внешний вид был ну слишком отсталым.

ItGum 1 : Настройка рабочего окружения Linux для работы на старом ноуте Ubuntu, Linux

Ссылка на выпуск: https://www.youtube.com/watch?v=HXwizAEGvUk


БЗВ. пришлось пересоздать канал на ютубе.

Разбираетесь в смартфонах? Докажите!

Сейчас каждый мнит себя знатоком техники. Насмотрелись обзоров на ютубе и все туда же. Snapdragon, Super AMOLED, 4K, динамический диапазон, форм-фактор и куча других терминов. Все все знают и умеют. А вы в своих силах уверены?


Тогда вперед, проходить наш тест, который мы сделали вместе с HONOR. Попробуйте ответить правильно на все 10 вопросов и показать, что вы и правда разбираетесь в смартфонах.

Отличная работа, все прочитано!