Zer0Galaxy
-
Публикации
1 220 -
Зарегистрирован
-
Посещение
-
Победитель дней
189
Сообщения, опубликованные пользователем Zer0Galaxy
-
-
А почему вы решили, что любая программа, которая делает reboot или shutdown непременно вирус?
А почему вирус непременно должен выполнять reboot или shutdown?
Думаю, что парсер если и должен искать вирус, то какой то конкретный с известным кодом вирус, а не гипотетический вредоносный код. Вот почему я и предложил: для начала давайте напишем вирус. Между прочим, совершенно серьезно.
-
Я сейчас не могу бывать на сервере. Для восстановления сети мне нужно доверенное лицо. Предлагаю Neo.
-
Возрождение сети возможно только с восстановлением чанклоадеров, но их, похоже, никто не собирается возвращать.С удалением TE появился шанс возрождения сети.

-
Минимальный объем информации, необходимый для кодирования цвета одного вокселя будем называть символом. Очевидно, что символ содержит два бита или число от 0 до 3. Все возможные значения одного символа (0, 1, 2, 3) будем называть алфавитом. Последовательность из нескольких символом будем называть словом. Суть предлагаемого алгоритма сжатия состоит в замене последовательности одинаковых символов XXX...X, словом XN, где X - символ, входящий в исходную последовательность, N- длина этой последовательности, выраженная символами алфавита. Длина последовательности N может принимать значения от 1 (единичный воксель) до 48х48х32=73728 (весь рисунок залит одним цветом). Поскольку длина числа N дешифратору неизвестна, основная проблема это отделить N, входящую в текущую последовательность от начала следующей последовательности. Диапазон изменения N, выраженный в двоичном виде, будет от 1 до 10010000000000000. Каждый бит числа будем кодировать одним символом. Причем, если бит не последний, кодируем его символом "0" или "1", соответственно. В случае если бит завершает слово, кодируем его символом "2", если бит равен 0, или символом "3", если бит равен 1. Поскольку N всегда начинается с бита 1 (незначащие нули не рассматриваем), этот бит при кодировании можно опустить, а при декодировании добавить. Сложность возникает только при кодировании N=1, т.к. в этом случае опускается единственный бит, входящий в N. Для того, чтобы устранить эту проблему, перед кодированием добавим к N единицу, а после декодирования - вычтем.
Пример кодирования: Предположим, нам необходимо закодировать последовательность из 25-ти символов "2".
1) Первый символ, входящий в закодированное слово "2" - символ из которых состоит исходная последовательность.
2) К длине последовательности добавляем единицу 25+1=26 и представляем в двоичном виде 26(10)=11010(2)
3) Отбрасываем первую единицу - 1010
4) Кодируем каждый бит кроме последнего символами "0" или "1". Последний бит кодируем символом "2" (соответствует биту 0) В итоге получаем слово - "21012".
Пять символов вместо 25-ти.
Последовательность декодирования:
1) Принимаем из входного потока первый символ. Из этих символов будет состоять последовательность после декодирования.
2) Присваиваем N=1
3) Сдвигаем N влево на 1
4) Принимаем из входного потока очередной символ.
5) Если принятый символ 1 или 3, N= N+1
6) Если принятый символ 0 или 1, возвращаемся к пункту 3
7) N= N-1
8) Декодированная последовательность представляет собой последовательность из N символов, принятых в п. 1 Предложенный алгоритм сжимает последовательности длиной не менее 3. Последовательности из двух символов не сжимает. А единичные символы замещает словом из двух символов. В наилучшем случае рисунок будет сжат в 4336 раз. В наихудшем - размер увеличится вдвое.
-
3
-
-
Да, ты прав. Конечно я выразился не совсем точно. Но, надеюсь, мы с Тоторо поняли друг друга.алгоритмическое преобразование данных, производимое с целью уменьшения занимаемого ими объёма. Применяется для более рационального использования устройств хранения и передачи данных. Синонимы — упаковка данных, компрессия, сжимающее кодирование, кодирование источника. Обратная процедура называется восстановлением данных (распаковкой, декомпрессией).
На счет "синтаксиса", могу предложить вариант.
-
1
-
-
Поторопился с выводом. Башня строится, но как периферию компьютер ее не видит.Попробовал под СС 1.58. Работает
-
Попробовал под СС 1.58. Работает
-
Это не сжатие, а упаковкаДа, думал. Как NEO сказал, уже слегка пожали изображения. С 73 кБ до 19.
Во! Я об этомЯ возможно добавлю ужатие блоков одинаковых байтов. Это позволит избавиться от орд нулей, которые зополоняют каждый сейв
. -
Тоторо, не думал про алгоритмы сжатия изображений?
-
Надо по изучать. Башня кажется весьма полезной
-
Возможно Алексу пригодится, чтобы в его банке роботы счета не открывали. Вот только картинку нужно не на весь экран, а оставить место для строки ввода. Попытался изменить width, height = 25,10. ПолучилХорошая идея, мне нравится. Пока негде использовать если честно.
run:76: index expected, got nil
Зумирование не реализовано?
-
Конечно по двум кликам. Может даже кликам в разных плоскостях. Для рисования трехмерных линий.Отрисовка изменяющегося за мышкой эллипса/линии может доставить проблем. Можно сделать рисование эллепсов и линий двумя кликами по крайним точкам.
-
1
-
-
Конструктивная критика
Конечно, для рисования каляки-маляки, вроде тех, что приведены на скринах, реализованных возможностей редактора достаточно. Но создать более сложный 3D рисунок будет весьма проблематично.
Уровни, по которым создается голограмма, представляют собой сечения объекта горизонтальными плоскостями. На мой взгляд, основные трудности при создании объекта предложенным способом следующие. Во-первых, довольно сложно представить такое сечение, как правило, не имея самого объекта перед глазами. Во-вторых, как совмещать эти уровни друг с другом, если виден только один уровень?
Предлагаю расширить редактор следующими возможностями:
1) Рисование не только по горизонтальным уровням, но и по вертикальным (фронтальным и профильным). Это даст возможность посмотреть на свое творение еще в двух проекциях.
2) Возможность при рисовании очередного уровня "видеть" выше или нижележащий уровень/уровни, например, прорисовывая их более темным цветом. Значительно облегчит совмещение уровней.
3) Смещение рисунка уровня вправо-влево, вверх-вниз. Так же может быть полезным при совмещении.
4) Набор инструментов типа: линейка, рамка, эллипс, заливка.-
2
-
-
Ага. Вот только созданные функции и переменные (те, которые не в API) вытащить не удалось. Может кто знает как?ты из environment (_G) это все вытащил по ивенту на F1, как я понял?
-
Вот бы эта консольная программа могла сменяющиеся изображения показывать. Даешь, к примеру, ей перечень файлов, а она по очереди извлекает из них голограммки и в течении определенного времени каждую демонстрирует. Из 26-ти кадров можно 3D-мультик сделать.Таким образом даже на обычную дискету OC (512 кБ) поместится 26 голограмм.
P.S. NEO готовит вторую часть пакета - консольную программу, которая позволит на любом компьютере быстро развернуть голограмму и показать ее через проектор с произвольным масштабом и углом.
Например, чтобы украсить ваш дом. Или сделать футуристическую вывеску. Или... да много всего можно сделать.
-
1
-
-
Понимаю, что писать программы при помощи встроенного редактора edit весьма неудобно и мало кто занимается таким мазохизмом. Но вот редактировать уже написанный файл, наверняка приходилось каждому компьютеркрафтеру. Я решил чуть скрасить это тяжелейшее занятие и дополнить редактор одной, на мой взгляд, полезной фичей, а именно - автоматическим вводом имен стандартных функций и API. Поможет в этом клавиша F1
Вот, к примеру, нужно мне ввести строку
textutils.unserialyze()
Целых 23 нажатия, не считая Shift. Это ж пальцы сотрутся!В новом редакторе достаточно ввести несколько первых букв названия API или функции (например, "te") и нажать F1. Вуаля! Редактор найдет подходящее слово (в нашем случае "textutils.") и вставит его вместо этих букв. Если же он нашел и вставил какое то другое слово, скажем "term" - не беда. НЕ НАЖИМАЯ других клавиш, снова давим F1 пока не получим нужное слово. И так, получили "textutils.". Дальше вводим первую букву имени функции "u", снова давим F1 и получаем требуемую комбинацию. Вместе со скобками. Всего за 5 нажатий! А сколько нервов сэкономлено при отладке? Ведь зачастую я ввожу unserialiSe вместо unserialiZe
Поддерживаются стандартные функции Lua и загруженные API, в том числе созданные пользователем.
Ссылка на скачивание pastebin.com/pJfxziA6
-
12
-
-
Это был роутер "red.stone"Внимание!
Только что, игрок Deon нашёл точку CraftNet на координатах
-477 253 -59
Выглядит как куб 3*3 с компьютером в отверстии. Deon сломал компьютер, и позвал меня. Также он сказал, что там был какой-то софт.
-
А сколько чанков он грузит?
-
Пофиксен баг, связанный с удалением/перемещением файлов. Обновите прогу по прежней ссылке
-
2
-
-
Отбросить нулевые символы можно при помощи заклинания
mess=mess:match("(%Z*)"), где mess - принятое сообщение. Передавать длину сообщения при этом не нужно.А вот на счет краша при приеме абракадабры, я подумаю над алгоритмом.
-
1
-
-
Малость доработал алгоритм поиска и вставил в MiddayCommander.
Встречайте новую версию MC 1.3 (pastebin get 4SnKTzvc mc)
Теперь комбинация Alt+F7 позволяет найти любой файл на диске компьютера.
Не помните названия файла полностью? Не беда! Символы ? и * заменят любой символ или группу символов, соответственно.


Жду сообщений о багах.
-
7
-
-
findFile:176: attempt to call nilвсё новая тестовая версия есть.
-
Я бы подобную задачу решал при помощи рекурсивной функции. Т.е. функция ищет среди файлов в текущей директории, а потом вызывает саму себя для каждой из вложенных директорий.
И вместо функции cut используй match.
Сделаешь поиск по неполному совпадению - вставлю в МС-коммандер.
-
1
-
-
Эх, мне бы ОС-эмулятор. Но, все равно, спасибо. Лучше чем у меня был
-
3
-

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