@rf Настигло меня немного новогоднее настроение и я написал небольшую, но интересную програмку на Си. Она генерирует гирлянду из 4 цветов и ищет в ней последовательности из 4 разных цветов.
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <time.h>
#define RED "\033[1;31m#"
#define YELLOW "\033[1;33m#"
#define BLUE "\033[1;34m#"
#define GREEN "\033[1;32m#"
#define RESET "\033[0m"
#define RED_FLAG 8
#define YELLOW_FLAG 4
#define BLUE_FLAG 2
#define GREEN_FLAG 1
static char* lightbulbs[] = {RED, YELLOW, BLUE, GREEN};
static int flags[] = {RED_FLAG, YELLOW_FLAG, BLUE_FLAG, GREEN_FLAG};
typedef struct Garland {
char* lightbulbs;
unsigned int length;
} Garland;
Garland generate_garland(unsigned int length);
void print_garland(Garland* g);
int* find_four_different_colors_sequences_in_garland(Garland* g);
int main () {
srand(time(0));
Garland g = generate_garland(100);
print_garland(&g);
find_four_different_colors_sequences_in_garland(&g);
}
Garland generate_garland(unsigned int length) {
Garland g;
g.lightbulbs = malloc(length * sizeof(char*));
g.length = length;
for (unsigned int i = 0; i < length; i ++) {
g.lightbulbs[i] = rand() % 4;
}
return g;
}
void print_garland(Garland* g) {
for (unsigned int i = 0; i < g->length; i ++) {
printf("%s", lightbulbs[g->lightbulbs[i]]);
}
printf(RESET);
printf("\n");
}
int* find_four_different_colors_sequences_in_garland(Garland* g) {
// [0000rybg]
int amount_of_answers = 0;
int *answers = malloc(sizeof(int) * amount_of_answers);
char flag = 0x0;
for (unsigned int i = 0; i < g->length; i ++) {
flag = flag ^ flags[g->lightbulbs[i]];
if (!(flag & flags[g->lightbulbs[i]])) {
flag = 0x0;
i --;
continue;
}
if ((flag ^ 0xf) == 0) {
amount_of_answers += 1;
answers = realloc(answers, amount_of_answers * sizeof(int));
answers[amount_of_answers-1] = i - 3;
flag = 0x0;
}
}
printf("%i\n", amount_of_answers);
for (int i = 0; i < amount_of_answers; i ++) {
printf("place %i: %i (", i, answers[i]);
for (int j = answers[i]; j < answers[i] + 4; j ++) {
printf("%s", lightbulbs[g->lightbulbs[j]]);
}
printf(RESET);
printf(")\n");
}
return answers;
}
@rf Настигло меня немного новогоднее настроение и я написал небольшую, но интересную програмку на Си. Она генерирует гирлянду из 4 цветов и ищет в ней последовательности из 4 разных цветов.
@rf
Привет всем!
Хотелось бы попросить у вас по поводу тыкпадов в советик.
Мой текущий ноут (вообще не тыкпад, "игровой", купленный лет 5 назад) уже доживает свой век: петли рассохлись, Wi-Fi адаптер уже умер, клаву успел заменить... В общем, хочу себе новый ноут присмотреть. Так-то хотелось бы собрать комп, но я сейчас хожу в колледж и, очевидно, комп я с собой туда не потащу))
У моего текущего ноута I7-6700HQ и 16 гигов оперативы, мне в основном для компиляции, игрушки уже почти не играю (кроме майнтеста, да ксонотика), так что на видюху в целом пофиг.
Ну так вот, хотелось бы похожий по характеристикам тыкпад, не обязательно даже лёгкий, мой текущий ноут весит в сумме со всем обвесом пару кило, я привык его таскать. Лишь бы был по мощностям +- такой же, да недорогой. Думаю с авито взять.
TL;DR посоветуйте пж тыкпад дешёвенький, похожий по мощностям на I7-6700HQ и 16 гигов оперативы.
Спасибо!!
@rf
Привет всем!
Хотелось бы попросить у вас по поводу тыкпадов в советик.
Мой текущий ноут (вообще не тыкпад, "игровой", купленный лет 5 назад) уже доживает свой век: петли рассохлись, Wi-Fi адаптер уже умер, клаву успел заменить... В общем, хочу себе новый ноут присмотреть. Так-то хотелось бы собрать комп, но я сейчас хожу в колледж и, очевидно,...
Недавно обнаружил утечку памяти у своей жены. Когда она спит, бывают моменты, в котороые можно спросить "чего говоришь?", и она ответит то, что ей в данный момент снится. Вчера ночью она ответила загадочно "подготовка...", и каждый раз самые разнообразные ответы, которые я, к сожалению не помню. Примечателен ещё случай, когда я, скажем так, к ней лез, она выпалила с интонацией "нет нет нет, не хочу такой развязки!". На утро согласились, что во сне она писала книгу....
@rf Добрый день, РФ! Мы тут с другом ( @orion ) предложили разделить права на создание тредов и ответ в них и написание простых сообщений в спецификации Matrix. Кому такая возможность понравилась бы или нужна - проставьте лайк на это предложение. Спасибо!
@rf Доброго времени суток! На днях мне с друзьями пришла в голову интересная идея: попробовать построить либертарианское общество в майнкрафте. Мы сразу же подняли сервер на версии 1.21.1. Очевидно, что чтобы построить общество, нужны люди.) Так что просьба заинтересовавшихся попробовать осуществить задуманное вместе с нами!
IP: foxarmy.org
Версия 1.21.1
Стоит пару плагинов, в том числе на быструю срубку дерева.
Правило одно единственное - читы запрещены!
Спасибо за внимание!
@rf Доброго времени суток! На днях мне с друзьями пришла в голову интересная идея: попробовать построить либертарианское общество в майнкрафте. Мы сразу же подняли сервер на версии 1.21.1. Очевидно, что чтобы построить общество, нужны люди.) Так что просьба заинтересовавшихся попробовать осуществить задуманное вместе с нами!
@rf Доброй ночи, РФ (по Москве)!
Я тут недавно захотел сделать бота, подобного Дайвинчику, но только в матриксе и FLOSS! За пару-тройку дней у меня получилось реализовать задуманное, вот я и поднял пока что первую тестовую версию!! 🎉
Хотелось бы попросить вас потестить и потыкать, о любых багах сообщать мне!! (контакты в моём профиле)
Контакт бота - @heart2heart:foxarmy.org
Ожидайте много багов и то, что он будет кривоватенько работать.
Замечание - он подбирает людей +-2 по возрасту и по расстоянию от города до города, если вы не указали 0 в расстоянии. База данных городов не моя, я взял её с https://simplemaps.com/resources/free-country-cities, так что обо всех территориальных спорах претензии к ним!
Исходник бота хостится на моём гите, милости прошу форки, ПРы и issues'ы - https://git.foxarmy.org/leca/heart2heart!
Всем спасибо за внимание!
@rf Доброй ночи, РФ (по Москве)!
Я тут недавно захотел сделать бота, подобного Дайвинчику, но только в матриксе и FLOSS! За пару-тройку дней у меня получилось реализовать задуманное, вот я и поднял пока что первую тестовую версию!! 🎉
@rf Добрый вечер по Москве!
Хочу попросить помощи с прошивкой Honor 9 Lite (LLD-L31). Я где-то год назад успешно открыл загрузчик с помощью PotatoNV, накатил себе TWRP и Magisk. Всё встало идеально, баловался с рутом, потом надоело и забросил. Чуть позже, то ли я случайно обновил мобилу, то ли я делал заводской сброс, но рут, естесна пропал. Ну я с ним тогда набаловался уже, так что не страшно было. Щас я решил его ещё раз поставить и поиграться. Скачал магиск зипку, захожу в тврп, накатываю, а он мне там ошибок понаписал. Я блин их даже не записал, но по-моему, он сказал, что проебал мне бут и вендор разделы :DDDDDD. Крч, мобила не запускается, ТВРП не запускается, остался только eRecovery, в котором не работает ни factory reset, ни update and reset. Просто обваливаются после подключения к вайфаю и говорят, что не могут скачать или что-то там сделать. Ну, думаю, ладно, зашью через фастбут просто стоковую и снова настрою. А вот нет. На почти что все команды он отвечает FAILED (remote: 'Command not allowed'), хотя повторюсь, загрузчик разблокирован, FRP тоже. Добрые федчане, что это ещё может быть? Подскажие пожалуйста! Спасибо!
П.С. пикрандом для привлечения внимания
@rf Добрый вечер по Москве!
Хочу попросить помощи с прошивкой Honor 9 Lite (LLD-L31). Я где-то год назад успешно открыл загрузчик с помощью PotatoNV, накатил себе TWRP и Magisk. Всё встало идеально, баловался с рутом, потом надоело и забросил. Чуть позже, то ли я случайно обновил мобилу, то ли я делал заводской сброс, но рут, естесна пропал. Ну я с ним тогда набаловался уже, так что не страшно было. Щас я решил его ещё раз поставить и поиграться....
@rf И снова здравствуйте, федчане. На днях мысль в голову пришла - сделать свободный опенсурсный клиент для vk.com. Ну, примерно как invidious и newpipe для ютуба, только, очевидно без регистрации и авторизации не получится такая тема. Хотел спросить, насколько хорошая идея, пользовались ли бы вы таким клиентом и нет ли уже подобного? Спасибо!
Если оно тоже с рекламой будет, то зачем? Если без, то как автор собирается выживать? Если автор пилит для себя, то зачем спрашивать?
Целевая группа кто? Бабушки из репозитория не поставят. Я вижу только одну нишу, украинские пользователи, которым в стране заблокировали доступ к ВК. Чтобы лишний раз не включать файрвол
@rf Доброго времени суток. Есть тут кто, живущий в Ставрополе и готовый гулять? Я вчера зарегался в https://openstreetmap.org и хочу маппить свой город во благо свободы и опенсурса, но в одиночку скучновато. Никто не хочет гулять в свободное время, ставропольчане?
@rf Хотел бы поделиться своими мыслями насчёт нейронок и робототехники, а так же послушать мнение экспертов.
Уже сегодня нейронки могут дофига всего, от простого распознания текста и до рисования картинок, а то и вполне неплохих видео. Нейросети очень неплохо получилось развить за последние буквально пару десятков лет. Так вот, смотря на всё это, на повсеместное внедрение нейросеток, на их захват всех областей, у меня возник вопрос. С точки зрения технологического прогресса, нет же никаких проблем за пару лет разработать робота с нейросетью, который будет как человек. Я слышал, что там майкрософт выпускает какого-то copilot, типа нейронка, которая запускается локально и требует какой-то чип. Нейросетки это ж по сути вычисления. Так что наверное под это можно сделать нормас такой ASIC. Почему бы подобному роботоу не впихать такой ASIC с нейронкой, которая смогла бы контроллировать его движение, все "мышцы" на теле, сенсоры (глаза, уши, тактилиные ощущения), мыслительный процесс и так далее. Если покрыть такого робота реалистичной кожей, что будет отличать его от человека? Скажем, есть нейросеть, которая полностью способна на всё то, на что способен среднестатистический человек. Её запихивают в роботическое тело, являющееся просто копией человеческого, только из железок. Что из этого получится? Оно ведь будет способно "думать", только не биологическими нейронами, а искусственными, цифровыми. Но оно будет думать. Чем считать это создание? Вещью? Живым существом? В своей суте, оно же от нас, кроме запчастей, не особо-то и отличается? Мы чувствуем что-то потому что нейромедиаторы крутятся-вертятся у нас в голове, а он чувствует что-то потому что функция активации не заглушила сигнал.
Иными словами, мне интересно обсудить следующиее:
1) В чём существенная разница такого существа с человеком, помимо запчастей
2) Как к этому существу относиться?
3) Если же всё таки они будут прям как люди, как они будут интегрированы в наше общество? Будут ли вообще?
Пикрандом если что))))
@rf Хотел бы поделиться своими мыслями насчёт нейронок и робототехники, а так же послушать мнение экспертов.
Уже сегодня нейронки могут дофига всего, от простого распознания текста и до рисования картинок, а то и вполне неплохих видео. Нейросети очень неплохо получилось развить за последние буквально пару десятков лет. Так вот, смотря на всё это, на повсеместное внедрение нейросеток, на их захват всех областей, у меня возник вопрос. С точки зрения...
Кстати, этот вопрос мне кажется гораздо интереснее как раз в разрезе непохожести робота на человека.
Если робот такой же как человек - мысли, эмоции, даже в чём-то существование и внешний вид - тут как раз особенных проблем нет. Логично, что относиться к нему будут примерно так же, разве что с какой-то долей ксенофобии.
А вот если робот совсем не такой? Скажем, автопилот в машине. Там нет ни кожи, ни рук, ни глаз, это просто автомобиль. Но это сложная сущность и у неё появилось сознание, она имеет какие-то этические суждения и с ней можно поговорить. Вот как обращаться с таким? :)
Кстати, этот вопрос мне кажется гораздо интереснее как раз в разрезе непохожести робота на человека.
Если робот такой же как человек - мысли, эмоции, даже в чём-то существование и внешний вид - тут как раз особенных проблем нет. Логично, что относиться к нему будут примерно так же, разве что с какой-то долей ксенофобии.
Оу, бой. Ну, поехали.
Начну с третьего пункта. Интеграция андроидов в человеческое общество как равных мне видится абсолютно нереалистичной.
Технические проблемы: Во-первых - вычислительеые мощности. Все эти современные встаеывемые в компьютеры асики позволяют использовать некоторые нейросети с достаточной для решения прикладных задач скоростью, но не обучать. Обучение - процесс на порядки более сложный и дорогой. А обучение в риалтайме нам будет в этом приключении необходимо. Об этом дальше.
Современные нейросети - специалисты. Их тренеруют решать какую-то одну задачу, или спектр задач, но решить задачу, лежащую сильно вне плоскости их "предметной области" они неспособны. Языковые модели, хоть и проходят тест Тьюринга, и показывают некоторые признаки наличия интеллекта и способности мыслить, все-же видятся мне сейчас примерами китайской комнаты (https://ru.wikipedia.org/wiki/%D0%9A%D0%B8%D1%82%D0%B0%D0%B9%D1%81%D0%BA%D0%B0%D1%8F_%D0%BA%D0%BE%D0%BC%D0%BD%D0%B0%D1%82%D0%B0). Проблема с ними в том, что они лишены агентности и субъективного опыта. Модель может сказать что ей грустно, или больно, но фактически она просто будет имитировать поведение человека. Чтобы по-настоящему ИСПЫТАТЬ "грустно" или "больно" - ей потребовалась-бы возможность взаимодействовать с миром в реальном времени (агентность), и возможность интегрировать полученный в результате этого взаимодействия и рефлексии опыт в свое сознание (субъективный опыт). Тогда мы могли-бы говорить о каком-то сознании в привычном нам понимании. Но это - еще не все.
Допустим, мы решили вышестоящие проблемы. Допустим, мы обеспечили эту штуку достаточными вычислительными ресурсами. Сможет-ли оно вести себя как человек? Если поставить такую задачу - ну, наверно, да. Сможет-ли оно МЫСЛИТЬ и ЧУВСТВОВАТЬ как человек? А тут проблема куда глубже. Человеческое сознание определяется не только конфигурацией синаптических связей в мозгу. Не менее важна "аппаратная архитектура" самого мозга. Это ведь не просто беспорядочный сгустой нейронов. В нем есть характерные структуры, отделы, выполняющие определенные функции. И, хоть они и не привязаны к этим функциям твердо (например, у незрячих людей зрительная кора начинает, по большей части, обрабатывать аудиальную и тактильную информацию), мозг, тем не менее, явно имеет кучу физиологических особенностей - "аппаратных оптимизаций", позволяющих ему эффективно решать определенные задачи, характерные именно для homo sapiens (речь, управление телом, социальные взаимодействия, и т.д.). То есть во многом наше сознание, наше мышление определяется не индивидуальным опытом, а вот этим пресловутым физиологическим строением мозга. Помимо этого, нельзя сказать, что сознание целиком "содержится" в головном мозге. На него влияет состояние ВСЕГО организма, и даже не все "вычисления" происходят в нем.
(1/2)
Оу, бой. Ну, поехали.
Начну с третьего пункта. Интеграция андроидов в человеческое общество как равных мне видится абсолютно нереалистичной.
Технические проблемы: Во-первых - вычислительеые мощности. Все эти современные встаеывемые в компьютеры асики позволяют использовать некоторые нейросети с достаточной для решения прикладных задач скоростью, но не обучать. Обучение - процесс на порядки более сложный и дорогой. А обучение в риалтайме нам будет в этом приключении необходимо. Об этом дальше.
Современные...
@leca@pleroma.foxarmy.org@rf@mastodon.ml (2/2)
Например, сетчатка глаза - это не просто массив светочувствительных рецепторов, она также выполняет первичную обработку полученных с тех самых рецепторов сигналов и фактически является отделом мозга, расположенным вне черепной коробки.
Таким образом, если мы хотим, чтобы машина не симулировала человеческое поведение, а действительно мыслила и чувствовала как человек - нам пришлось бы эмулиорвать все (или хотя бы многие) вот эти физиологические особенности нервной системы человека. А мы еще сами не до конца понимаем, как все это работает. Значит, и достоверно воссоздать подобную систему не можем.
Отсюда следующая проблема. Дискриминация. Лично я считаю, что к мыслящему существу стоит относиться как к мыслящему существу. С точки зрения этики ему у него должны быть права, к нему стоит применять принципы гуманизма (ха-ха). Однако нас окружает масса примеров, когда даже людей с иным опытом мы воспринимаем не как равных, вплоть до расчеловечивания. Очевидно, это будет в еще большей степени проявляться в отношении существ, фундаментально отличных от нас, неспособных полноценно испытывать то, что испытываем мы. И, подозреваю, в обратную сторону это тоже будет работать.
Напоследок просто приведу перевод монолога андроида из Battlestar Galactica:
Я не хочу быть человеком! Я хочу видеть гамма-лучи и слышать рентгеновские, я хочу чувствовать запах темной материи… Ты хоть понимаешь абсурдность моего облика? Я не могу даже правильно выразить этих мыслей, потому что должен… должен формулировать сложнейшие идеи при помощи этой глупой, ограниченной звуковой речи. Но я знаю, что хочу тянуться ввысь чем-то другим, не этими примитивными лапами. Хочу ощущать, как меня обдувает солнечный ветер сверхновой звезды. Я машина, и я могу знать намного больше, и я могу чувствовать намного больше, но я заперт в этой нелепой телесной оболочке. И почему? Потому что пять моих создателей решили, что так угодно Богу.
@leca@pleroma.foxarmy.org@rf@mastodon.ml (2/2)
Например, сетчатка глаза - это не просто массив светочувствительных рецепторов, она также выполняет первичную обработку полученных с тех самых рецепторов сигналов и фактически является отделом мозга, расположенным вне черепной коробки.
Таким образом, если мы хотим, чтобы машина не симулировала человеческое поведение, а действительно мыслила и чувствовала как человек - нам пришлось бы эмулиорвать все (или хотя бы многие) вот эти физиологические особенности...
@rf Доброй ночи, ребята! Обращаюсь к заядлым JSерам, как поделить nodejs программу на модули? Скажем, есть набор функций, которые работают с глобально объявленным массивом. Как я могу их импортировать? Я не могу сделать const utils = require('./utils'); и вынести все функции в module.exports, ибо в таком случае он не видит глобальные переменные. Как стоит поступить?
Для начала: не пользуйся глобальными переменными пожалуйста. Лучше экспортируй их из одного модуля и импортируй в другой.
Если очень нужно, то глобальные переменные - это на самом деле поля глобального объекта `global` (он же `globalThis`, если хочешь быть совместимым с браузером). Поэтому замени в своих utils обращения к глобальной переменной foo на global.foo.
Но опять-таки, лучше не делай их глобальными, если уж используешь модули.