Рубрика «open source» - 198

История shareware, изначального варианта организации покупок внутри приложения - 1

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

И данные с каждым днём уменьшались. Дискеты родили уменьшенные дискеты, которые родили жёсткие диски, которые родили CD-ROM… А если у вас был модем, вам даже диск был не нужен! Поэтому неудивительно, что на волне копирования дискет появилось shareware, условно-бесплатное ПО, поскольку возникла нужда в бизнес-модели, поощряющей копирование.

Поговорим о том, насколько shareware было важным для современных бизнес-моделей в компьютерном мире.
Читать полностью »

Что общего между mutt, mplayer и gzip помимо того, что это качественные проекты с открытым кодом? В качестве подсказки даю наводящий вопрос: вы можете точно назвать месяц выхода очередной версии Debian Linux, до официального объявления на вебсайте?

Ранний релиз или выдержанный? - 1

Все эти программы имеют одну особенность — относительно длинный и непредсказуемый цикл разработки и релиза. Между тем все более популярным становится предсказуемый и относительно короткий цикл релиза, строго по графику. Какая стратегия разработки более выигрышная и каковы условия добиться перехода на оптимальную стратегию? Об этом мы поговорим в данной статье.

Читать полностью »

TL;DR: github.com/limonte/dear-habr

Уважаемая администрация ТМ, вы сделали и поддерживаете лучший русскоязычный IT-блог. Вы отлично справляетесь со своей задачей, но я верю, что пришло время сделать шаг вперёд и стать чуточку ближе к своим пользователям.

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

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

Восполняя этот пробел, хочу ответственно заявить:
Харб — ты лучший по функционалу и UI не только в рунете, ты абсолютный чемпион и пусть меня кто-нибудь поправит в комментариях, приведя IT-блог на любом языке, который удобнее Хабра.

Читать полностью »

Поговорим на темы от труда и работы, станков, автоматизации на java/groovy до прогнозов о будущем человечества.

Узнаете про персональное автоматизированное производство в домашней мастерской, как идея творца превращается в готовое изделие. Рассмотрим подход по отправке G-code инструкций из JVM и groovy/java на исполнение ЧПУ станку для автоматизации того, чего нет в системе «из коробки».

Управляем автоматом на Groovy-Java. Как ЧПУ станку в домашней мастерской не превратиться в мульт героев «двое из ларца» - 1

Надеюсь, эта публикация будет познавательна программистам работающих с JVM, тем кто интересуется темой IoT, кому не чуждо мастерить, кто думает о покупке 3D принтера, кто делал прототип какой-либо системы и запускал ПО на Raspberry PI/Beagleboard Black. То про что расскажу, можно повторить используя open source software и open hardware.
Читать полностью »

Свобода 0: всякий имеет право запускать программу как угодно и в любых целях.
Свобода 1: всякий имеет право изучать, как работает программа и адаптировать её под свои нужды.
Свобода 2: всякий имеет право без ограничений распространять копии программы.
Свобода 3: всякий имеет право улучшать программу и делать эти улучшения общедоступными.

2096 год… Мир на пороге 22-го века. Свободное программное обеспечение стало практически повсеместным. Усилиями активистов проекта GNU удалось пролоббировать закон о программном обеспечении в большинстве государств. Этот закон запрещает разрабатывать с целью распространения и распространять программное обеспечение под так называемыми «несвободными» лицензиями. Для определения того, является ли данная лицензия свободной или не свободной, был создан специальный комитет (Комитет свободного ПО) с отделениями в разных странах и главным офисом в США. Именно в США в далёком 1983 году Ричард Столлман открыто заявил о необходимости разрабатывать свободное ПО, об открытии проекта GNU. Историю проекта GNU теперь проходят во всех университетах на всех специальностях, хоть как-то связанных с программированием.
Читать полностью »

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

Качество картинки на YouTube варьируется от 144p (144 строчки в прогрессивной развёртке) до 8K 4320p. Последнее видео в четыре раза крупнее 4К 2160p, в шестнадцать — 1080p, в тридцать шесть — 720p, который также называют HD.

Мало какой компьютер может проиграть это видео в его полном разрешении, а доступных по цене 8K-мониторов в мире просто нет.

Технология MPEG-DASH разбивает контент на куски, а браузер запрашивает эти сегменты автоматически. Логично хранить и отдавать отдельно видео и звук. У DASH есть жирный плюс: адаптивность воспроизведения.

Несколько лет назад пользователи YouTube заметили введение DASH по тому, что буферизация видео больше не шла до конца ролика, а ограничивалась примерно минутой. Около того же времени другая проблема возникла у скачивающих видео с YouTube. Внезапно обнаружилось, что ролики с качеством 1080p доступны в виде файлов без звука. Сайты-сервисы, которые раньше выдавали ссылки на скачивание видео, отдавали лишь 720p, не выше. Около 1080p стояло «без звука» или «только видео».
Читать полностью »

Свободный менеджер паролей LessPass работает на чистой функции - 1

Хранение уникальных паролей для всех сайтов и приложений — целое искусство. Невозможно запомнить сотню длинных паролей с высокой энтропией. Может быть, в мире есть десяток высокоразвитых аутистов, способных на такое, не больше. Остальным людям приходится использовать технические трюки. Самый распространённый вариант — записать все пароли в один файл, который защищён мастер-паролем. По такому принципу работает большинство парольных менеджеров.

У этого способа много преимуществ, но есть два главных недостатка: 1) трудно синхронизировать пароли между устройствами; 2) нужно всегда иметь в распоряжении сам файл с паролями. То есть потерял файл с паролями — и до свидания.
Читать полностью »

Представляем вам четвертую часть из цикла статей, посвященных работе с ASP.NET Core. Этот материал представляет из себя подробную инструкцию развертывание веб-приложения в службе приложений Azure с помощью Visual Studio.

ASP.NET Core: Развертывание веб-приложения в службе приложений Azure с помощью Visual Studio - 1
Читать полностью »

В портфолио компании EDISON Software есть 8 проектов, связанных с разработкой под Android и 4 крупных проекта, связанных с разработкой под iOS:

Хотим поделиться с вами полезной подборкой open-source библиотек для iOS разработчика.

1. DZNEmptyDataSet

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

С этой библиотекой вам необходимо всего лишь соответствовать определённым протоколам и iOS сама позаботиться о просмотре коллекций и выделит необходимое особым шрифтом, в виде красивых сообщений для пользователя. Элементарное решение для каждого проекта под iOS.

image

27 open-source ништячков для iOS разработчика - 2
Читать полностью »

Любой, кто изучал устройство языков программирования, примерно представляет, как они работают: парсер в соответствии с формальной грамматикой ЯП превращает входной текст в некоторое древовидное представление, с которой работают последующие этапы (семантический анализ, различные трансформации, и генерация кода).

КДПВ

В Python всё немного сложнее: парсеров два. Первый парсер руководствуется грамматикой, заданной в файле Grammar/Grammar в виде регулярных выражений (с не совсем обычным синтаксисом). По этой грамматике при помощи Parser/pgen во время компиляции python генерируется целый набор конечных автоматов, распознающих заданные регулярные выражения — по одному КА для каждого нетерминала. Формат получающегося набора КА описан в Include/grammar.h, а сами КА задаются в Python/graminit.c, в виде глобальной структуры _PyParser_Grammar. Терминальные символы определены в Include/token.h, и им соответствуют номера 0..56; номера нетерминалов начинаются с 256.

Проиллюстрировать работу первого парсера проще всего на примере.
Пусть у нас есть программа if 42: print("Hello world")Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js