Обновить
178.15

Ненормальное программирование *

Извращения с кодом

Сначала показывать
Период
Уровень сложности

Генерируем оглавление для текста

Время на прочтение5 мин
Охват и читатели6.3K
Доброго времени суток! В данной публикации хочу рассказать и расскажу о том, как генерировать оглавление текста на PHP. Почему хаб «Laravel»? Данное решение вылилось в пакет, который можно просто подключить через composer.


Читаем, изучаем

Ещё один способ отображения строк в Go

Время на прочтение3 мин
Охват и читатели3.6K
Как-то сидя на работе, и занимаясь написанием кода на Go, я вспомнил про старую задачку, суть которой заключалась в том, что нам необходимо реализовать деление любого числа на заранее заданное в условии задачи. Казалось бы просто, но было два ограничения:

1. Нельзя использовать числа в явном виде, кроме 0.
2. Количество разрешённых математических операций тоже было ограничено.

Повторять её на Go я не стал, но решил применить один из вариантов решения, для отображения строки. Идея эта не нова, и на полноправное авторство не претендую, просто решил поделиться.
Читать дальше →

MirrorMoon EP — в поисках заветной планеты

Время на прочтение3 мин
Охват и читатели7.3K

MirrorMoon EP
Осторожно, спойлеры и артхаус! Если вы в тупике и отчаянии, то эта статья должна помочь вам пройти игру. Плюс, технические подробности.


Предисловие


Это была самая странная, долгая и познавательная охота за ачивкой. Был изучен код игры, воссоздан API и реализован звездный навигатор для этой бесконечной космической одиссеи. Весь путь я проклинал разработчиков. Ведь, по сути, игра длится всего 10 минут. А дальше, дальше только пустота и надежда. Но как я рад теперь! Благодаря разработчикам и моему стремлению я многое узнал. Далее само прохождение.


Читать дальше →

Поздравляем победителей «Летнего спринта» PETAMelon

Время на прочтение1 мин
Охват и читатели1.1K
По условиям спринта 11-12 июня, партнером которого стали «Ростелеком», «Спутник» и «Айкумен ИБС», участникам — студентам Московского института электроники и математики и НИУ Высшая школа экономики — требовалось за 1 день интенсивной командной работы найти и защитить идеи по развитию сервисов на основе аналитики больших данных (BigData). Студентам были предоставлены обезличенные данные о поведении клиентов, например, история просмотра «Интерактивного ТВ», история покупок фильмов в «Видеопрокате». В командах работали представители компании, эксперты и менторы.

Лучшие кейсы по итогам спринта приняты для проработки и тестирования в реальных условиях, о результатах сообщим.

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

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




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

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

Консольный проигрыватель .wav для pc-speaker в Linux

Время на прочтение9 мин
Охват и читатели8.7K
Давно хотел написать проигрыватель для pc-speaker и чтобы не только ноты и монофонические мелодии. Но в то время когда это было актуально (DOS — навсегда!) у меня не было ни знаний, ни способностей, ни помыслов. Позже я не смог пробиться к нему сквозь Windows DDK и продолжал тихо пищать в стиле QBASIC SOUND. Да и актуальность pc-speaker как звукового устройства стала нулевой, гордый speaker превратился в beeper и buzzer. Однако он никуда не исчез из ПК (попутно пережив все дисководы) по прежнему давая о себе знать при включении и сообщая об ошибках. Так можно ли в современном программно-аппаратном user-space окружении проиграть полифоническую мелодию или голос на pc-speaker? Конечно можно — Си и Linux нам в этом помогут.
Посвящается, мужику в шляпе и очках, посылающему всех в известном направлении (неизвестного мне автора, всё хорошо работает в DOSBox).
Читать дальше →

Кросс-языковое программирование

Время на прочтение1 мин
Охват и читатели1.8K
Читая статью в вики про Квайны вспомнил, что давно, очень много кликов тому назад — не помню уже ссылки, читал как один умелец описывал процесс создания исходного текста программы(скрипта) работающего в двух разных языках. Если мне не изменяет память, это был некий bat-ник, который успешно компилировался в turbo pascale-е.

Предлагаю в качестве разминки для ума скинуть в комментарии примеры (если таковые возможны).
Читать дальше →

[prog] debug при разработке сайтов

Время на прочтение1 мин
Охват и читатели1.6K
Странички сейчас все сплошь динамические — на скриптах. Тоже ведь программы в своем роде. А вот вопрос отладки как-то слабо поднимается (если сравнить с C++ тем же). Все сводится к оценке на глаз, правке и так по кругу. Сообщения от ошибках выводятся в ту же HTML страницу — так проще.

Читать дальше →

[prog] Как облегчить мучения пользователей и себя пользователями

Время на прочтение2 мин
Охват и читатели1.5K
Вот пишите вы, допустим, какой-то софт. Не то чтобы для себя пишете, а так — для коллег или для фирмы. А может и на продажу. Только пока вы делаете это один — сам себе и швец, и жнец — т.е на звонки пользователей тоже отвечать приходится. То это не работает, то это…
Читать дальше →
12 ...
103

Вклад авторов