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

Доброго времени суток! Наверное многим приходилось собирать небольшие устанощики разнообразного ПО для своих нужд или нужд компании работодателя. В моей работе приходится сталкиваться с самыми разнообразными задачами по написанию всякого мелкого админского ПО. Начиная от скриптов настройки файрволов и установшика службы VNC до инсталлятора корпоративного мессенджера на основе Miranda. На последнем мы сегодня и остановимся. Реализовав ввод логина и пароля прямиком в установщике, посредством вызова «Page custom» и работы с функционалом NSD

Инсталлятор Miranda для корпоративного Jabbera на NSIS
Читать полностью »

Perl Golf от REG.RU на YAPC::Europe 2013

С 12-го по 14-е августа в Киеве прошла очередная конференция perl-разработчиков YAPC::Europe 2013. Расширяющие сознание доклады, инсайдерская информация от разработчиков Perl 5 и Perl 6, живые легенды из мира Perl (включая самого Ларри Уолла!), речной круиз и замечательное общение в пабах кулуарах — всё было. Мероприятие заслуживает самой высокой оценки, а организаторы и докладчики (да и все остальные участники конференции) — всяческих похвал и благодарностей.

Однако, общеизвестно, что кроме обычных человеческих радостей perl-программисты склонны к развлечениями особенным, нормальным «хомо сапиенсам» не всегда понятным и близким.

Итак, как мы устроили Perl Golf на YAPC, и что из этого вышло.
Читать полностью »

Добрый вечер друзья, сегодня пятница и я по традиции хотел бы поделиться с Вами своими изысканиями.
Забавная сложилась ситуация. Те немногие программисты (люди связанные с программированием), которых я знаю лично, никогда не писали игры, а люди которые от понятия «профессиональный программист», далеки примерно так же как белый медведь от принципов гуманизма, нет нет да сварганят какую-нибудь жуткую неиграбельную поделку.
Один из названных выше людей — Я.
В этой статье хочу убить двух зайцев немного рассказать людям о пакете прикладных математических программ Scilab, а заодно продемонстрировать его функции нестандартным образом
Сегодня я расскажу вам, о том, как делал крестики нолики в Scilab. За подробностями милости прошу под кат.

image

За картинку спасибо DrZugrik
Читать полностью »

Решение японских кроссвордов одним запросом SQL Привет! Приближается день программиста, и я спешу поделиться своими ненормальными наработками.
Японский кроссворд — NP-полная задача, как и задача коммивояжёра, укладки рюкзака и др. Когда ее решает человек, следует последовательно определять гарантированно заполненные и пустые ячейки. Одну за другой вычеркивать колонки и строки, пока не сложится весь рисунок. Как же возможно запрограммировать решение подобной задачи на языке, который официально даже не является языком программирования, не содержит циклов и переменных? SQL — язык запросов, его главная задача — выбирать строки. Вот мы и будем генерировать множество всех возможных перестановок и, словно скульптор, отсекать все лишнее.

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

Примерно месяц назад я опубликовал пост Вернулся невод с тиной морскою..., речь там шла о сравнении частотных словарей Википедии и Башорга. В комментах было много идей насчёт того, как это сделать правильно, а так же просьб распарсить другие сайты — Луркмор и конечно же Хабрахабр.
Читать полностью »

imageПредставьте на минутку, что вы — недавно принятый на работу программист, которому предстоит работать с популярной системой управления обучением (LMS) Hot4Learning. Ваш предшественник когда-то поработал над добавлением к системе возможности отправки email — для того, чтобы любой пользователь в школе мог отправить другому пользователю электронное письмо с помощью веб-интерфейса. Но, увы, судьба оказалась к нему неблагосклонна — его сбил автобус, и он так никогда и не завершил свой magnum opus, свою лебединую песню. Ваша задача — довести его дело до конца, добавив функцию валидации введенного email — чтобы можно было уверенным, что письма отправляются только в том случае, когда в качестве адресата вводится правильный адрес, привязанный к школе.

Приведем конкретный пример: допустим, Боб — студент в Университете Макгилла, и он должен иметь возможность отправить письмо на любой валидный адрес @mail.mcgill.ca или @mcgill.ca. Если адрес его подружки Джейн выглядит как jane.smith@mail.mcgill.ca, то тогда Боб имеет полное право отправлять на него письма. В другом случае — скажем, если ее адрес jane.smith@mail.ru — он, понятное дело, права на это не имеет, как и на отсылку писем на адрес thisisnotavalidemail@mail.mcgill.ca.

Итак, ваша задача — реализовать эту возможность; при этом предполагается, что у вас есть список валидных адресов почты для конкретного учебного заведения.
Читать полностью »

Копируем чеыре разворота паспорта на один А4 без танцев, но с помощью МФУ Kyocera FS-1135
Читать полностью »

На StackOverflow был отличный пост точно на эту тему, но какой-то сверхусердный модератор, который должен остаться неназванным, удалил его (судя по всему, сейчас восстановлено — прим. пер.).

К счастью, у меня сохранилась возможность просмотреть все удаленные комментарии. Вот некоторые из моих любимых.

// 
// Дорогой мейнтейнер:
// 
// Когда ты закончишь «оптимизировать» эту подпрограмму
// и поймешь, насколько большой ошибкой было делать это,
// пожалуйста, увеличь счетчик внизу как предупреждение
// для следующего парня:
// 
// total_hours_wasted_here = 42
//

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

Вы регулярно пользуетесь услугами такси?

Вы замечали, что с некоторыми таксистами ездить комфортнее, чем с другими? Это может выражаться в более чистом салоне, большей любви к машине или чем-то еще. Чаще всего такию люди не являются профессиональными таксистами, а лишь время от времени подрабатывают в дополнение к основной деятельности.

А ведь было бы не плохо иметь возможность добавлять таких таксистов в друзья и при следующей поездке посмотреть на карте, кто из них сейчас работает и где находится?
Читать полностью »

Шахматы на чистом sed В Линуксе и многих других системах существует утилита командной строки sed («сед») — это несложный редактор, которые преобразует текст, попадающий ему на вход при помощи несложных команд.

Его, в основном, используют для всяких мелких нужд в bash-скриптах — заменить одну строку на другую, что-то удалить и так далее. Если говорить терминами более привычных языков, в «седе» доступны две строковые переменные, в одной из которых можно что-нибудь проверять, заменять, а со второй только обмениваться данными из первой, метки, команды переходов на метки и группировка команд, плюс ещё несколько менее полезных.

Вот на этом безобразии я решился написать шахматы, причём такие, чтобы можно было бы играть с компьютером.
Читать полностью »


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