Рубрика «ненормальное программирование» - 121

Как собрать свою JDK, без блекджека и автоматической сборки мусораНа недавно прошедшей Java One Руслан cheremin рассказывал о том, что разработчики Disruptor используют JVM без сборщика мусора. У них на то были свои причины, которые не имеют к этому топику никакого отношения.

Я же давно хотел поковыряться в исходниках виртуальной машины, и выпиливание из неё GC – отличное начало. Под катом я расскажу вам, как собрать OpenJDK, выпилить из неё сборщик мусора и снова собрать. Ближе к концу даже будет дан ответ на наверняка пришедший вам в голову вопрос «зачем».

Читать полностью »

Как уже писали на Хабре, разработчик широко известного в узких кругах MinecraftМаркус «Notch» Перссон в данный момент занят разработкой новой игры, действие которой будет происходит в космосе в 281 474 976 712 644 году.

Как и Майнкрафт, игра будет нестандартной: главная «фишка» — полностью эмулируемый процессор, под управлением которого космические корабли и будут бороздить просторы Большого… э, Вселенной. Поскольку персонажи игры в год 0x10c (игра, собственно, так и называется) попали прямиком из 1980 года, то и процессор DCPU-16 по своим характеристикам примерно соответствует той эпохе: 128 килобайт оперативной памяти, 100 мегагерц, нехитрый набор команд.

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

Читать полностью »

«Конкурс параллельного программирования Accelerate 2012» или «6 ультрабуков и 10 SSD хватит всем!»
Всем привет!
Последняя неделя на Хабре ознаменовалась серией хакерских постов — взламывали как VoIP, так и онлайн-пробки.
Предлагаю продолжить неделю более созидательно — решить задачу мирового масштаба по генетике по параллельному программированию.
Сделать за месяц надо всего ничего: найти в двух строках, состоящих из нуклеотидов символов A, T, G и C, максимально длинную общую подстроку.
Призы по сравнению с предыдущим разом подросли и окрепли — сегодня на кону 6 ультрабуков Asus Zenbook UX31E и 10 SSD-дисков суммарной емкостью 800 гигов.
Заманчиво? Читать полностью »

Добрый день!

Не знаю, будет ли кому интересно, но соорудил сегодня такое чудо: DeepClone, упихивающийся в 140 байт.
Если кто-то такое уже делал и постил, ткните, пожалуйста, носом. Я в формате твитов нашёл только неглубокие копирования. Ну и не исключаю, что какой-нибудь применённый хак находится в списке запрещённых препаратов приёмов, а за его использование полагаются страшные кары :)

Из недостатков — всё то же, что и у клонирования с помощью функции extend из jQuery: не ест стандартные объекты типов Boolean, String, Date, игнорирует prototype и constructor и зависает на кольцах.
Достоинство одно и, по-большей части, чисто эстетическое — размер.

Тестировал в Firefox, Chromium, Opera, IE8 и в умолчальном андроидном браузере.

Под катом — код и небольшой рассказ о том, как это работает.

Читать полностью »

Увидел на тематическом сайте, посвящённом сериалу My Little Pony код на Turbo Pascal, использующий старинный модуль Graph и рисующий нескольких персонажей.

Код содержал только вызовы функций и комментарии, javascript отлично его парсил. Осталось только дописать свои графические функции.

Финальная версия
Читать полностью »

Github включил ассемблер DCPU 16 в список официально поддерживаемых языковВ игре 0x10c — новом проекте Нотча (автора Minecraft) — для управления космическим кораблём игроку придётся программировать мифический древний процессор DCPU-16. Сама игра ещё на ранних стадиях разработки, но сообщество будущих игроков уже активно формируется вокруг опубликованных на официальном сайте спецификаций вымышленного процессора. На Гитхабе существуют уже десятки эмуляторов DCPU-16, llvm-backend, операционная система, среда исполнения и даже неофициальный комитет по стандартам.
Читать полностью »

Лирическое вступление

Как это обычно бывает в воскресное утро, а тем более когда на улице опять неважная погода, начинаешь искать себе интересное занятие. И как-то бросилось мне в глаза, что Dropbox опять синхронизирует какие-то файлы, и очень быстро. На столько быстро, что можно сделать не что иное, как… чат!
Довольно странная идея, но раз захотелось — нужно сделать.
Читать полностью »

Я вчера заморочился на отличненько. Мне показалось скучным и грустным вводить цифры счёта за квартиру в окошко «Госуслуг» и решил сделать автоматическую распознавалку чисел, попутно изучив работу с камерой из браузера.
Читать полностью »

Здравствуйте, дорогие читатели!

Сразу хочу оговориться, что эта статья создана just for fun, и не претендует на какое-либо обучающее свойство.

В нашей школе информатику преподают с 6 класса, но ничему практически не научили, ибо мы так дружно и старательно форматировали тексты в Word'e, что закончили его изучать только к 9 классу. Было несколько уныло, и я занялся программированием. Помню, как копипастил «Hello, World!» из книжки по С++, потом первый калькулятор, потом еще калькулятор, затем познал ActionScript, сделал пару жутких игр, ну а потом обленился.
После очередного скучного задания по Excel, мы с другом решили воплотить нашу давнюю идею — сделать мультиплеерную игру. На школьных компьютерах стоял еще Macromedia Flash 8, Borland Delphi 7, и в другом конце класса на мониторе блестела эмблема Windows Server 2003.
Читать полностью »

Есть такой редкий малоизвестный язык программирования tcl. В википедии он расписан хорошо, но при написании программы возникнут вопросы.
Цзяньшицзы — это такая китайская(судя по названию) игра, переводится как «выбирание камней», интересна сама по себе: есть две кучки камней с любым количеством камней, играют двое. Каждый игрок может взять любое число камней из любой кучи, а также равное количество сразу из обоих. Побеждает тот, кто возьмет последний камень. Более подробное описание тут. Игра на сохранение баланса: с одной стороны, нужно чтобы числа в кучах различались, с другой, чтобы различие было не слишком большим. Начнем с того, что игра имеет выигрышную стратегию, происхождение которой мы рассматривать не будем. Возьмем лишь краткое описание. Существуют сочетания размеров куч, при которых игрок, который будет делать следующий ход, проигрывает.
Цзяньшицзы и tcl

Цзяньшицзы и tcl

Квадратные скобки обозначают взятие целой части. Нет, первая формула — это не числа Фибоначчи, хотя коэффициент тот же, но тут арифметическая прогрессия, а не геометрическая. Сразу заметим, что разница между числами пары составляет n.

Ранее на хабре были Реверси на TCL в 64 строки и Пятнашки на TCL в 10 строк, в которых был компактный и красивый код, здесь вы такого не увидите. Также он, возможно, далек от правил хорошего тона. Вобщем, если вам что-то покажется говнокодом, скорее всего так оно и есть. С другой стороны, это даже хорошо, потому что будет что улучшать в дальнейшем. Отчасти из-за того, что язык для меня новый, отчасти чтобы было удобнее делать пояснения. Также отсутствуют необязательные проверки.
Далее будут идти куски программы. Она далеко не оптимальна, но показывает особенности языка и работает.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js