Перейти к публикации
Форум - ComputerCraft

Крутой блог

  • записей
    7
  • комментария
    72
  • просмотров
    15 675

Об этом блоге

Крутые идеи и их реализации

Записи в этом блоге

 

Пишу браузер-арбузер

Новости! Теперь мой браузер будет называться "Арбузер", и будет выполнен в зеленоватых тонах.
Zer0Galaxy мне помогает, и уже набросал парсинг и поиск по самым простым селекторам в CSS. Думаю, ему для полной работы с CSS нужно будет написать еще разов в 6 больше кода.
Готовы первые наброски самого браузера без страниц. Закладки, навигация, строка пути.
Кстати, вы можете посмотреть эмулятор экрана компьютера из OC, который можно открыть в браузере и даже посмотреть исходный код.     Ядро написано примерно на 15% пока что. В следующий раз буду отрисовывать элементы страниц, подгружая их стили.

Krutoy

Krutoy

 

Пишу браузер для ОС

Итак, начинаю большой проект - браузер реальных HTML страниц для OpenComputers.   Всё началось с того, что я решил прикрутить скроллинг лога моего интернет-сервера. Потому я понял, что для этого мне нужно будет подключить GUI, и решил что это будет GML. Но мне не нравилось, что весь код контролов там распологается в одном файле. Я начал разделять отдельно. Потому я понял, что нужно перевести его .gss формат стилей на всем известный CSS, для большей понятности. От этого мне захотелось сделать методы контроллов больше похожими на DOM-элементы...   И тут понеслось.   Очнулся через 5 дней усиленного изучения Document Object Model, CSS стилей, парсинга HTML и многочисленных библиотек под Lua. HTML парсер на луа я нашел, и даже его начал внедрять, но потом нашел монстра похлеще, с проработанным древом наследования и множеством других функций, хотя для него пришлось переписать парсер, так как он работал с либами на C.   Пока показать могу только результат работы парсера. В коричневых областях слева оригинальный файл. Парсер перебирает его по косточкам, разбирая на отдельные теги, аттрибуты и ноды. В правой части обратная сборка документа из таблицы. В черном окне - запущенный эмулятор ОС, который просто выводит текстовые данные из страницы. Красным выделены разницы в файлах. Как видите, парсер только отбросил !DOCTYPE и в некоторых местах убрал лишние пробелы.       Мне согласился помочь Zer0Galaxy и написать парсер для css файлов, а так же поиск аттрибутов в них.   Браузер планируется сделать так, что бы он умел открывать настоящие веб-сайты, например http://computercraft.ru/ , и выполнять в них навигацию. Из главных фич будет быстрая отрисовка, и возможность использования библиотек как интерфейса для создания GUI.   Сейчас исходники весят уже 200кб. Это будет круто.

Krutoy

Krutoy

 

Crunch - Хрустим 4к лимит!

Эта статья - частичный перевод программы с официального форума.   Введение Представьте что вы программируете микроконтроллер. И тут вы упираетесь в предел размера файла - 4к. Вам придется уродовать ваш код, что бы втиснуться, но есть лучшее ренешие: Crunch!   Crunch (хруст) - это программа, сжимающая код на Lua. Она уменьшает размер файла разными способами, начиная от удаления лишних пробелов и табуляций, заканчивая переименованием локальных переменных в более короткие имена. Еще, Crunch умеет создавать "самораспаковывающийся" архив, используя алгоритм LZ77.   Программа позволяет сжать файл в 4 раза, уменьшая размер до 25% от первоначального! Skex (загрузчик для биоса) был уменьшен с 3 990 до 2 366 байт - уменьшение на 40%. Totoro Recursive Miner был уменьшен с 9 390 до 3 477 байт. В 2.7 раз меньше. Теперь его можно всунуть в биос.       Установка   Просто скачайте tar архив и распакуйте в корень. Все файлы установятся по своим местам.   github   Распаковщик .tar файлов: wget 'https://raw.githubusercontent.com/mpmxyz/ocprograms/master/home/bin/tar.lua' Crunch: wget 'https://raw.githubusercontent.com/mpmxyz/ocprograms/master/tars/crunch.tar'tar -xf crunch.tar Для документации по командам наберите в консоли man crunch

Krutoy

Krutoy

 

Новая лаборатория и дата-центр: Открытие!

Лаборатория построена и обустраивается! В возведении участвовали Krutoy, Zer0Galaxy, AlexCC и Fingercomp, за что им спасибо.   Лаборатория - открытое здание, и его может навестить любой желающий. Она находится справа по дороге мимо Банка.      

Krutoy

Krutoy

 

Новая лаборатория и дата-центр: День третий

Итак, вся лаборатория почти достроена. Осталось только подукрасить крышу и задок. Честно сказать, идеи закончились и линии стали более унылыми. Даже не придумал как сделать небоскреб. Но за то, добавил больше цветных линий. Голубое - это будущее стекло.   Кстати, вдохновение я набирал на девиантарте. Можете увидеть как лаборатория по первой ссылке похожа. http://jimmyjimjim.deviantart.com/art/Sci-fi-Lab-300578532 http://sc4v3ng3r.deviantart.com/art/Random-Space-Platform-Structure-409412499 http://talros.deviantart.com/art/Building-concepts-350130607    

Krutoy

Krutoy

 

Новая лаборатория и дата-центр: Первый этаж снаружи

Продолжаю проектировать новую компьютерную базу в программе MagicaVoxel, что бы потом перенести на сервер с помощью дебаг-карты.   Итак, я решил что основном материал будет - уголь. Если белоснежный банк олицетворяет добрых и пушистых администраторов, угольно-черная лаборатория будет олицетворять хардкор и жесткач программистов. Лазурит и еще что нибудь синее будет хорошим украшением.   Первый этаж почти закончен и уже думаю над дизайном второго. Буду надеяться, что Алекс не запретит возвести высокий небоскреб.

Krutoy

Krutoy

 

Новая компьютерная лаборатория и дата-центр

Смотрю модно нынче блоги создавать. Попробую и я.   Моего маленького компьютерного ангара стало маловато для расширения, так как там банально закончилось место для новых компов и серверных стоек.   Я решил построить новое здание, но подойти к этому более комплексно, а так же собрать под одной крышой Тоторо и Зеро, установив их сервера здесь. Вот первые пробы набросков в программе MagicaVoxel. Каждый воксель - блок майна. А бирюзовые блоки - будущие мониторы.   Скорее всего, я отконвертирую формат этой программы и попрошу воспользоваться дебаг-картой что бы залить территорию нужными блоками. Пока в здании планируется 2-3 этажа с разными секторами: Основной зал со всем ОС оборудованием
Серверная
Сборочный и печатный цеха
Полигоны для отладки роботов
Телепортная
Если есть какие то еще идеи для интерьера, пишите.

Krutoy

Krutoy

×