Сколько я не мучил поисковик, а решения этого вопроса так и не нашлось. Конечно, всегда можно использовать JS и это нормально, но иногда заказчик душа просит изысков.
Читать полностью »
Рубрика «КодоБред» - 6
Полная кастомизация select без использования JS
2015-01-19 в 12:58, admin, рубрики: css, html, веб-дизайн, извращения, интерфейсы, кастомизация, КодоБредВычисление средней температуры по больнице
2015-01-12 в 12:28, admin, рубрики: open source, pvs-studio, Блог компании PVS-Studio, бред, исходный код, КодоБред, Новый Год, Программирование, статистика
Начать стоит с того, что это, статья совершенно не серьёзна. Новый год, праздник, сил никаких нет заниматься чем-то серьёзным как писателям, так и читателям. Именно поэтому было принято решение о написании статьи про, внезапно, статистику.
Читать полностью »
Как растаращить class-файл
2014-12-12 в 1:55, admin, рубрики: class-файл, java, jvm, КодоБред, ненормальное программирование, пятницаОбычно при компиляции Java-файла получаются .class-файлы примерно того же размера, что и исходник. Меня заинтересовало, можно ли по небольшому исходнику сделать .class-файл, который больше, сильно больше исходника.
Можно поискать какие-то короткие конструкции языка, которые компилируются в длинные цепочки байткода, но линейный прирост меня не устраивал. Я сразу подумал про компиляцию finally-блоков: про неё уже писали на Хабре. Если вкратце, то для каждого finally-блока при непустом try-блоке создаётся минимум два варианта в байткоде: для случая нормального завершения try-блока и для случая завершения с исключением. В последнем случае исключение сохраняется в новую локальную переменную, выполняется код finally, затем исключение достаётся из локальной переменной и перебрасывается. А что если внутри finally снова разместить try-finally и так далее? Результат превзошёл все ожидания.
Читать полностью »
Сериализация C++ с полиморфизмом и прототипами
2014-12-08 в 16:13, admin, рубрики: c++, c++11, КодоБред, полиморфизм, Программирование, сериализацияУже достаточно давно заинтересовался темой сериализации, а если конкретно, то сериализацией объектов, хранящихся по указателю на базовый класс. Например, если мы хотим загружать интерфейс приложения из файла, то скорее всего нам придется заполнять полиморфными объектами контейнер по типу “std::vector<iWidget*>”. Возникает вопрос, как подобное реализовать. Этим я недавно решил заняться и вот что получилось.
Для начала я предположил, что нам все-таки придется унаследовать в базовом классе интерфейс iSerializable, такого вида:
class iSerializable
{
public:
virtual void serialize (Node node) = 0;
};
Код, которого нет
2014-11-28 в 13:36, admin, рубрики: javascript, Веб-разработка, КодоБред, магия, ненормальное программирование, обфускацияПривет, читатели!
Около года назад Хабр захлестнула волна постов на тему "%string% в N строчек на JavaScript". Уже и не вспомню, чем все закончилось, но началось все с Excel в 30 строк. Следом появилось много и других интересных вариаций на эту тему, даже игра в ноль строк на JS, но это уже совсем другая история…
Как я ни старался придумать что-то еще более компактное — ничего не выходило. Тогда было принято решение посмотреть на проблему под другим углом. Примерно в этот момент в голове промелькнул вопрос: а можно ли «сколлапсировать» код так, чтобы его не было вообще? И тут мне позвонил Дэвид Блейн.
Я попробовал добавить немного магии и вот что у меня получилось.
Полноценный процессор в Minecraft: как он работает, как на нем программировать и для чего он?
2014-11-13 в 15:56, admin, рубрики: minecraft, ассемблер, КодоБред, моделирование, процессор, Электроника для начинающихВсе, наверное, знают, что в песочнице Minecraft можно делать абсолютно всё. Различные цифровые схемы и процессоры создают в Minecaft уже с давних пор. Но тот процессор, о котором я пишу, на самом деле уникален! Его название — DjCPU8.
Почему он уникален? По многим причинам. Давайте по порядку:
1) Скорость работы. Это пока самый быстрый процессор такого уровня в Minecraft. Одна инструкция выполняется примерно 1 секунду.
2) Количество памяти. Оперативной памяти аж 256 байт. Не знаю других ЭВМ с таким объемом памяти.
3) Вычислительные способности. 42 инструкции. Работает с арифметикой, логикой, стеком, вводом/выводом, регистрами и т.д.
4) Ассемблер. В других процессорах нужно вводить программу в двоичном виде. Но в DjCPU8 можно вводить ее текстом.
5) Простота. Ни с какой другой ЭВМ невозможно так просто и приятно работать.
6) Широта применения. Порты ввода/вывода можно создавать в любом месте.
Читать полностью »
История создания ИСУ, которая ещё не создана
2014-08-07 в 4:07, admin, рубрики: идеи, искусственный интеллект, КодоБред, полуалгоритмыИСУ — интерактивная система управления.
Написаное ниже — это лишь набросок идеи, бесконтрольный забег вперёд, попытка излить и распутать мысли, запутанные и замусоренные после небольшого, но частого путешествия в мир лингвистики, искусственного интеллекта, программирования, электроники и прочей фиготени. В результате чего я мало узнал нового, а что узнал — со временем запамятовал, и, кроме того, ещё и запутался… Короче говоря, ниже приведённый текст может содержать нормальные идеи (на что я надеюсь), но представлены они могут быть в весьма неудобной или даже в ненормальной форме. Также не ясно, получится ли у меня хоть что-нибудь нормальное и полезное. Прошу прощения за текстовое нытьё.
Читать полностью »
Перлы с Тостера
2013-12-27 в 22:50, admin, рубрики: php, КодоБред, хабрахабр, юмор, метки: .тостер, PHP, Хабрахабр, юмор Все помнят как много негодования со стороны сообщества было по поводу нового формата тостера. Мол, повалила куча хомяков, одни вопросы, нуль ответов. Тем не менее, администрация дело свое знала и делала хорошо — полнейший бред выпиливался, вопросы и ответы модерировались. Я проматывал ленту почти каждый день и самые смешные вопросы записывал в блокнотик. В него попадали вопросы авторов разумного объяснения действиям которых я не смог подобрать :) И да, это ни в коем случае не плевок в сторону PHP, просто ему так не повезло, что 90% вопросов именно с этим тегом.
Решил поделиться с сообществом на волне праздничного настроения, чтобы было над чем посмеяться.
Прямые в гексагональном растре
2013-09-16 в 12:07, admin, рубрики: game development, алгоритм Брезенхэма, Алгоритмы, геометрия на плоскости, КодоБред, метки: алгоритм Брезенхэма, геометрия на плоскостиДанное исследование не претендует на оригильность, я полагаю, что на самом деле изобретаю велосипед, но никаких деталей от него при (признаю, довольно поверхностном) изучении интернета мне найти не удалось.
Понаблюдав за разнообразными игрушками, передвижение персонажей в которых производится на плоскости, вымощенной правильными шестиугольниками, меня зацепил вопрос — а как должна выглядеть прямая на такой плоскости. Собственно, задача оптимального перемещения персонажа из шестиугольника A в шестиугольник B (подразумеваю, что на плоскости нет препятствий, под оптимальным перемещением подразумеваю такое, чтобы оно происходило через наименьшее количество шестиугольников) может быть решена кучей разных способов, маршрут далеко не единственен, так же, как, впрочем, и на плоскости, покрытой квадратами. Но мне хотелось бы, чтобы маршрут был приближен к отрезку прямой, как приближено к отрезку прямой изображение, построенное по алгоритму Брезенхэма, и в то же время реализация должна быть достаточно прозрачной и простой.
Читать полностью »
Скрипт проверки наличия свободных дат в посольстве
2013-08-21 в 8:37, admin, рубрики: python, selenium-webdriver, автоматизация, КодоБред, ненормальное программирование, скрипт, метки: python, selenium-webdriver, автоматизация, скриптПредисловие:
В Беларуси стоит острая проблема с получением виз в Еврозону (т.е. Шенген). Все из-за того, что Польское посольство предоставляет так называемые мульти-визы за покупками (т.е. многократные). Регистрация производится на сайте посольства онлайн. Но вся проблема состоит в том, что свободных дат не словить. Единственный вариант — круглосуточно чекать страницу, и если появится дата — быстро «ловить» ее и заканчивать регистрацию. Т.к. свободного времени для круглосуточного чека нет, было принято решение об автоматизации данного процесса.
Сразу оговорюсь, что существуют различные скрипты, которые вылавливают свободные даты и за которые люди получают деньги. Мой скрипт не претендует на их место по быстроте, качеству и т.д. Данный скрипт был сделан только для себя, никакой коммерческой и иной выгоды я не преследовал.Читать полностью »