Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Регистрируясь, я даю согласие на обработку данных и условия почтовых рассылок.
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр Битва Героев: RPG - увлекательная игра в жанре РПГ, позволяющая окунуться в невероятный фэнтезийный мир, полный приключений и захватывающих сражений.

Битва Героев: RPG

Приключения, Фэнтези, 2D

Играть

Топ прошлой недели

  • Oskanov Oskanov 9 постов
  • Animalrescueed Animalrescueed 46 постов
  • AlexKud AlexKud 33 поста
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

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

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Маркет Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
0 просмотренных постов скрыто
10225
MaLa.BaR
1 год назад

Ответ на пост «Winamp стал открытым плеером с доступным исходным кодом»⁠⁠7

Под новостью про то, что Winamp открыл исходный код, стоит вой, мол, онлайн сервисы удобнее. Мол, не нужно развивать мертвые оффлайн плееры.

Мой опыт говорит об обратном.

Добавил любимые альбомы в Яндекс музыке. Хуякс выпилили. (например первый альбом Bomfunk MCs)

Купил пару альбомов в Google music (или как его там) - Хуякс оно полностью выпилилось.

Пользовался Spotify (оч ждал, когда оно придёт в Россию) - Хуякс, выпилился он в России.

Пошли они нахуй эти ваши онлайн.
Он нам нахуй не нужОн онлайн Ваш, понятно?

Winamp Музыка Плеер Софт Open Source Мат Ответ на пост Текст Волна постов
1347
5321
IdealTechnoNews
IdealTechnoNews
1 год назад
GeekNews

Winamp стал открытым плеером с доступным исходным кодом⁠⁠7

Winamp стал открытым плеером с доступным исходным кодом
Показать полностью 1
Winamp Музыка Плеер Софт Скриншот Open Source Картинка с текстом Волна постов
730
sm1ly
sm1ly
1 год назад
Специфический юмор

My gender⁠⁠

My gender
Картинка с текстом Юмор Странный юмор Open Source
2
JohnDoe665
JohnDoe665
1 год назад

Немного размышлений про опенсорс⁠⁠

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

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

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

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

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

13.09.2024 21

Показать полностью
[моё] Компьютер Open Source Текст
50
22
trapwalker
trapwalker
Умный дом, проекты, философия ИИ, ностальгия, ПУТЕШЕСТВИЯ, футурология, критическое мышление, научпоп, выживалово, геймдев, просто о сложном
Серия У меня вопрос
1 год назад

Ответ на пост «Она в воде, но жива!»⁠⁠1

Вопрос @LizaAlert по методике применения нейросетей для поиска.

А можно подробный пост как запрягаете и какую нейросеть для поиска потеряшек на местности? Она в опенсорсе где-то лежит? Где её запускаете? Примеры фоток с положительным откликом сети (в сыром виде, как есть). Как именуются фото, сохраняется ли в них EXIF с локацией, или как там геолокация отражается? Какие типовые объёмы этих снимков с одного полёта?

Нельзя это в виде сервиса сделать, чтоб через инет туда фотки лить, а она их отсматривала бы?

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

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

Главное, что такие вещи можно автоматизировать так, что ничего не потеряется, а заливаться и проверяться снимки начнут настолько рано, насколько это возможно.

Ну вот, к примеру, в посёлке рядом есть оптоволокно. Можно тупо один из смартфонов, забравший через локальный вайфай снимки, подключить к вайфаю с хорошим каналом и он всё зальёт.

Это решаемая задача.

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

И да, я понимаю, что у вас есть там профильные форумы про всё это, волонтёры, который занимаются разработкой, крутые ребята, которые знают куда нейросети запрягать. Но раз уж вы приходите на такую площадку как Пикабу, то хорошо бы прислушиваться к аудитории этой площадки. У многих возникает ощущение недосказанности от ваших отчетов о поиске. Вы этот негатив могли бы перекрывать просто и элегантно - просто добавив чуть-чуть подробностей. Без персональных данных, ничего лишнего, просто факты из отчета. У вас же есть подробные внутренние отчеты? Да, я понимаю, что уйдут одни вопрос, придут другие, и на каждый не ответишь, а вы здесь просто хотите популяризовать участив поисках, привлечь к себе людей, которые тоже будут гореть в теме. Так вот же, я тоже об этом. Людям надо не фантик показать, их можно макнуть в ту лужу с подробностями, понимаете? Это наверняка многих подстегнёт к действию. Не всех, конечно. Кому-то нужно лишь побухтеть в комментах и выразить недовольство. Ничего страшного.

Ну да это не суть. Напишите про opensource-проекты, которые помогают вашей работе. Опишите инструментарий хотя бы немного, опешите методологию, хотя бы поверхностно (с соответствующими упоминаниями). Да, все понимают, что там всё безумно сложно и всё не передашь даже серией статей где угодно. Никто не заставляет передать ВСЁ. Вы же решаете где надо остановиться в подробностях о поиске?

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

Показать полностью
[моё] Спасение Лиза Алерт Добровольцы Поиск людей Длиннопост Квадрокоптер Нейронные сети Ответ на пост Идея Open Source Текст
7
8
empenoso
empenoso
1 год назад
Физкультура и Спорт

Как я улучшил своё взаимодействие с фитнес-клубом World Class, найдя и используя их API⁠⁠

Уже полгода хожу в фитнес клуб World Class или как пишут в самом клубе - являюсь его резидентом. Выбрал этот клуб в основном из-за наличия в нём бассейна. Потом заинтересовался групповыми программами и частенько хожу на сайкл тренировки - это тренировки на специальном велотренажере.

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

Автоматически созданное при помощи скрипта событие в моём гугл календаре

Автоматически созданное при помощи скрипта событие в моём гугл календаре

В какой-то момент мне это надоело и я подумал, а не написать ли скрипт, который раз в неделю будет ходить на их сайт с расписанием и добавлять в мой календарь занятия на сайкле автоматически?

Некоторым препятствием стало то, что сайт World Class динамически загружает контент с помощью JavaScript после начальной загрузки страницы. Зато нашлась конечная точка API и теперь занятия по сайклу каждый понедельник ночью добавляются в мой календарь за 3 секунды работы скрипта вместо 15 минут моей жизни каждую неделю.

Веб-сайт с общедоступным расписанием клуба World Class

Обычно расписание приветствует вот так

Обычно расписание приветствует вот так

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

Конечная точка API - это определенный URL-адрес, который позволяет внешним приложениям взаимодействовать с ним. API позволяют различным программным системам взаимодействовать друг с другом, отправляя запросы и получая ответы.

Когда взаимодействую с сайтом, который динамически загружает контент, то сайт часто запрашивает данные со своего сервера с помощью API. Сервер обрабатывает запрос и возвращает необходимые данные, которые затем отображаются на веб-странице. В контексте фитнес-клуба World Class конечной точкой API будет определенный URL-адрес, который предоставляет данные о расписании занятий. Отправив запрос на эту конечную точку, можно получить данные о расписании напрямую, минуя необходимость вручную перемещаться по сайту.

Поворотный момент и техническая проблема

В какой-то момент я наткнулся на чистую ссылку, которая ведёт только на само расписание фитнес-клуба World Class без любой рекламы. Ссылка выглядит следующим образом:

https://my.worldclass.ru/scheduling?clubs=d35ba5fc-1f7e-11ec-b664-50e548298f06

Где вместо d35ba5fc-1f7e-11ec-b664-50e548298f06 должен стоять идентификатор вашего клуба. Выше это идентификатор клуба в городе Перми.

Все доступные идентификаторы других клубов можно посмотреть прямо в браузере в режиме просмотра страницы:

Список доступных клубов

Список доступных клубов

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

ICG Color Cycle (сайкл)

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

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

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

Создание решения

Поскольку я использую Гугл календарь, то написал Google Apps скрипт. Apps Script - платформа на основе JavaScript для быстрой и простой разработки решений.

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

Скрипт работает следующим образом:

  1. Получение расписания: скрипт отправляет запрос в API World Class с идентификатором определенного спортзала. Далее извлекает расписание на следующие семь дней.

  2. Фильтрация соответствующих занятий: после извлечения расписания скрипт отфильтровывает занятия «ICG Color Cycle» и «CORE», которые я хочу посещать. Все дальнейшие действия происходят только для отобранной выборки.

  3. Создание событий календаря: для каждой отфильтрованной тренировки скрипт автоматически создает событие в Google календарь по умолчанию. Каждое событие включает:

  • Название: название тренировки (в моём случае либо «ICG Color Cycle», либо «CORE»).

  • Продолжительность: каждое событие запланировано на один час.

  • Описание: подробное объяснение зачем нужна эта тренировка.

  • Расположение: конкретный адрес клуба World Class, где проходит занятие.

  • Ведение журнала и обработка ошибок: скрипт регистрирует свой ход выполнения, указывая, когда он начинается и заканчивается, и предоставляя подробную информацию о каждом созданном событии. Если запрос API не выполняется или возвращает ошибку, скрипт регистрирует сообщение об ошибке для устранения неполадок.

Файл где можно посмотреть токен, который понадобится для обращения к API

Файл где можно посмотреть токен, который понадобится для обращения к API

По сути, этот скрипт - инструмент экономии времени для резидентов клуба World Class, которые могут быть уверены, что всегда будут знать когда проходят их любимые занятия.

Версия скрипта полного дня:

function WorldclassAPISchedulingPerm() {

console.log(`Функция WorldclassAPISchedulingPerm начала работу в ${(new Date()).toLocaleString("ru-RU")}`);

const url = 'https://my.worldclass.ru/api/v1/clubs/scheduling';

const currentDate = new Date();

const endDate = new Date(currentDate);

endDate.setDate(currentDate.getDate() + 7);

// Подробное описание: https://pikabu .ru/story/kak_ya_uluchshil_svoyo_vzaimodeystvie_s_fitnesklubom_world_class_naydya_i_ispolzuya_ikh_api_11835205

// Это версия скрипта полного дня

const payload = {

"gymList": [

"d35ba5fc-1f7e-11ec-b664-50e548298f06" // это World Class в Перми

],

"startDate": currentDate.toISOString().split('.')[0],

"endDate": endDate.toISOString().split('.')[0],

"chain": 1,

"token": "70a69ca6-XXXX-XXXX-a975-005056b1372d"

};

const options = {

method: 'post',

contentType: 'application/json',

payload: JSON.stringify(payload),

muteHttpExceptions: true,

headers: {

'brand': 'WorldClass',

'language': 'Ru',

'chain': '1',

'Accept': '*/*',

'Origin': 'https://my.worldclass.ru',

'Referer': 'https://my.worldclass.ru/scheduling?clubs='

},

timeoutSeconds: 30

};

try {

const response = UrlFetchApp.fetch(url, options);

const responseCode = response.getResponseCode();

console.log(`Код ответа: ${responseCode}`);

const responseText = response.getContentText();

const responseData = JSON.parse(responseText); // Разбираем JSON-строку

if (responseCode === 200) {

// Фильтрация для "ICG Color Cycle (сайкл)" и "CORE"

const filteredDates = responseData.data

.filter(item => item.service.name === "ICG Color Cycle (сайкл)" || item.service.name === "CORE")

.map(item => ({

name: item.service.name,

startDate: item.startDate,

employee: item.employee.firstName + " " + item.employee.lastName,

shortDescription: item.service.shortDescription

}));

console.log('Отфильтрованные даты:', filteredDates);

// Создаем события в календаре для каждой отфильтрованной даты

filteredDates.forEach(eventData => {

const startTime = new Date(eventData.startDate);

const endTime = new Date(startTime);

endTime.setHours(startTime.getHours() + 1); // Устанавливаем продолжительность события на 1 час

let eventTitle = `${eventData.name} - ${eventData.employee}`;

let eventDescription = '';

eventDescription = eventData.shortDescription +

'\n\nhttps://my.worldclass.ru/scheduling?clubs=d35ba5fc-1f7e-11ec...' +

'\nСоздано автоматически ' + (new Date()).toLocaleString("ru-RU");

CalendarApp.getDefaultCalendar().createEvent(

eventTitle,

startTime,

endTime, {

description: eventDescription,

location: 'Фитнес клуб World Class, Пермская ул., 33, Пермь, Пермский край, Россия, 614045'

}

);

console.log(`Событие создано для: ${startTime} - ${eventTitle}`);

});

} else {

console.error(`Ошибка: получен статус ${responseCode} с ответом: ${responseText}`);

}

} catch (error) {

console.error('Ошибка запроса:', error.message);

}

console.log(`Функция WorldclassAPISchedulingPerm закончила работу в ${(new Date()).toLocaleString("ru-RU")}`);

}

Результат выполнения скрипта

Результат выполнения скрипта

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

Ниже версия скрипта для дневного браслета, когда обязательный выход из зала до 17:00:

// Фильтрация для "ICG Color Cycle (сайкл)" и "CORE", а также по времени начала (до 17:00)

const filteredDates = responseData.data

.filter(item => (item.service.name === "ICG Color Cycle (сайкл)" || item.service.name === "CORE") &&

new Date(item.startDate).getHours() < 17)

.map(item => ({

name: item.service.name,

startDate: item.startDate,

employee: item.employee.firstName + " " + item.employee.lastName,

shortDescription: item.service.shortDescription

}));

console.log('Отфильтрованные даты:', filteredDates);

Как Вы можете воспользоваться этим скриптом?

Если вы новичок и хотите тоже автоматизировать получение определенных занятий, то скрипт Google Apps это мощный инструмент, который может вам помочь:

Шаг 1: Доступ к скрипту Google Apps

  1. Откройте Google Drive: начните с перехода на Google Drive.

  2. Создайте новый скрипт:

  • Нажмите кнопку Создать в верхнем левом углу.

  • Выберите Еще в раскрывающемся меню.

  • Нажмите Скрипт Google Apps. Откроется редактор скриптов Google Apps на новой вкладке.

Шаг 2: Назовите свой проект

  1. Назовите свой скрипт: как только откроется редактор скриптов приложений, вы увидите проект без названия. Нажмите на заголовок (обычно это «Проект без названия») и дайте ему осмысленное имя, например «Расписание World Class».

Шаг 3: Скопируйте код

  1. Удалите код по умолчанию: в редакторе вы увидите код по умолчанию (function myFunction() {}). Вы можете удалить его, чтобы освободить место для нового скрипта.

  2. Скопируйте и вставьте код:

  • Перейдите к статье с кодом скрипта Google Apps.

  • Скопируйте весь скрипт, предоставленный в статье.

  • Вернитесь в редактор скриптов приложений и вставьте код в пустое место.

Шаг 4: Сохраните свой скрипт

  1. Сохраните свою работу: Щелкните значок дискеты или нажмите Ctrl + S (или Cmd + S на Mac), чтобы сохранить свой скрипт.

Шаг 5: Запустите скрипт

  1. Запустите свой скрипт: Чтобы протестировать скрипт, щелкните значок воспроизведения (▶) в верхней части редактора. Если вы запускаете скрипт впервые, Google запросит авторизацию.

  2. Авторизуйте свой скрипт: Следуйте инструкциям, чтобы разрешить скрипту доступ к вашему Google Calendar и другим необходимым службам.

Шаг 6: Проверьте вывод

  1. Проверьте журналы: После запуска скрипта вы можете проверить сообщения журнала, чтобы убедиться, что он работает правильно. Перейдите в Просмотр > Журналы в редакторе скриптов приложений, чтобы увидеть вывод.

Шаг 7: Автоматизируйте его

  1. Установите триггер: если вы хотите, чтобы этот скрипт запускался автоматически через регулярные интервалы, вы можете настроить триггер:

  • Нажмите на значок часов на панели инструментов (Триггеры).

  • Нажмите + Добавить триггер в правом нижнем углу.

  • Установите запуск скрипта еженедельно, например на ночь между понедельником и вторником.

И это все! Вы успешно создали скрипт Google Apps, который автоматизирует добавление расписания в ваш календарь Google.

Результаты

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

Автор: Михаил Шардин

Показать полностью 6
[моё] Программирование API Программист Open Source Длиннопост
5
zer0hexen
zer0hexen
1 год назад
Лига Сисадминов

Nextcloud как увеличить объем⁠⁠

Не давно узнал, что есть такое опенсорс ПО. И запробовал его. Установил на сервак win клиента, подвезал пару телефонов. На серваке отдал ему папку под 500Гб. И не могу понять почему у меня на акаунте всего 8ГБ. Да я понимаю что там есть палатная подписка за доп.объем. Но читая в саппорт форуме темы, вижу что у комрадов и терабайты и 100ни гигбайт хранилище. Т.е. отличается от тарифа. Значит подняли сами.

Поднято в двух местах. Рабочая часть на win10Ltsc сервак. От туда идет синхра. Отдано 500гб.

Второй поднят (как тестовый на другом компе) на ubuntuserver 20.04.6 на нем же развернута CASAOS и в ней так же поднят Nextcloud . И разницы нет.

что не так я делаю? можно, как-то без оплаты увеличить объем хранилища. Уже базовые 8Гб забиты только синхрой, с одного телефона.

ВСЕ РЕШЕНО. СПАСИБО ВСЕМ КТО ОТВЕТИЛ. ПОМОГЛИ!!

Nextcloud Windows server Open Source Компьютерная помощь Текст
19
93
Admin911GPO
Admin911GPO
1 год назад

Ответ на пост «Сто процентов»⁠⁠3

© <a href="https://pikabu.ru/story/otvet_na_post_sto_protsentov_11826480?u=https%3A%2F%2Fpikabu.ru%2Fstory%2Fsto_protsentov_11820690%3Fcid%3D322317431&t=%23comment_322317431&h=f96a627e3956051b78ce2b68ba309fe9af941ee7" title="https://pikabu.ru/story/sto_protsentov_11820690?cid=322317431" target="_blank" rel="noopener">#comment_322317431</a>

© #comment_322317431

Показать полностью 1
Айтишники IT IT юмор Разработка Разработчики Видео Вертикальное видео Open Source Импортозамещение Программист Программирование Комментарии на Пикабу Ответ на пост
2
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Маркет Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии