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

Добрый утро, дорогие читатели.

Два года назад меня захватило желание что-то поменять, решил перейти на Дворак для программистов.
Переделал клавиатуру, наклеил модный наклейки с Ebay. И…
БольЧитать полностью »

Когда AES(☢) = ☠ — криптобинарный фокус

Специалиста по реверс-инжинирингу Анжа Альбертини (Ange Albertini) из компании Corkami в шутку спросили: можно ли сгенерировать картинку JPEG, которая после обработки шифром AES опять превратится в валидный JPEG. Анж принял вызов, а по результатам исследования опубликовал презентацию с объяснением, как это делается с разными форматами.
Читать полностью »

image

Давно собирался написать статью на хабр, да все никак не мог собраться. То темы достойной не было, то была, но слишком объемная, то лениво. А может, всегда было лениво. Но сейчас, во всяком случае, собрался.

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

Возможно не все, кто знаком с InterSystems Caché, знают о расширениях Студии по работе с исходным кодом. На самом деле в Студии можно создать свой тип исходного кода, компилировать его в интерпретируемый (INT) и объектный код, и даже в некоторых случаях обеспечить в Студии подсветку и code completion. Т.е. теоретически можно реализовать поддержку в Студии любого языка программирования, который будет исполняться СУБД не хуже Caché ObjectScript. В этой статье я опишу простой пример, как реализовать возможность писать программы на некотором подобии JavaScript в Caché Студии. Если интересно, добро пожаловать под кат.Читать полностью »

Мэтт Паркер, отметившийся в проектах Numberphile и Standup Maths, в компании с командой Domino Computer Builders построили, наверное, самый медленный компьютер в мире из костей домино.

Немного деталей под катом.
Читать полностью »

Жесть! Это как программирование через регулярные выражения…
Нет, вы меня не заставите! Больше никогда!

Смотрю на код и чувствую себя идиотом. Это правда не эзотерический язык типа brainfuck? Им кто-то реально пользуется? И эти программы потом читают?

quicksort=: (($:@(<#[), (=#[), $:@(>#[)) ({~ ?@#)) ^: (1<#)

Perl нервно курит в сторонке.

Хабрахабр о J

imageJ — корейский среди языков программирования. Взрыв на фабрике спецсимволов. Куча скобочек, точек, слэшей, и всё это ещё и работает. Не иначе как по велению чёрной магии, а то и самого Сатаны.

Некоторые из тех, кто пишет на J, забывают простые правила написания любого кода в погоне за краткостью или просто увлекшись. Эти правила не новые, но они приобретают критическое значение применительно к APL-подобным языкам, потому как при чтении конструкций вроде ((]i.~[:{.[){([:{:[),]`([:<[$:[:>])@.([:32&=[:3!:0[:>]))"2 0 даже тренированный мозг сворачивается в трубочку.

Итак, простые правила написания читаемого кода на J под катом.

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

Получение указателя на объект .Net
Сразу отвечу на вопрос «а зачем?». Просто интересно получить указатель на объект и потом подумать, что с ним особенного можно сделать :) Ведь если получить указатель, то дальше можно сделать все что угодно. Например, становится возможным изучить поведение SyncBlockIndex, или взять MethodTable и изучив, где что находится, изменить его содержимое. Можно мастерить собственные типы данных, не прибегая к Reflection. В общем можно делать много странных вещей, которые относятся больше к спортивному программированию и к саморазвитию. Однако, приступим.
Читать полностью »

Я вебмастер
Представляю пятничные размышления на тему программирования как процесса.
В борьбе с прокрастинацией фрилансеры всё больше тяготеют к труду за пределами родного дома. Смена контекста позволяет настроиться на рабочий лад и быстрее войти в «поток». В качестве места деятельности раньше выбирались кафе, в летнее время беседки в парках, а сейчас несомненным трендом являются АнтиКафе и прочие коворкинги. Последние при этом подразумевают почасовую или помесячную оплату.
Оказывается, некоторые фрилансеры подходят к вопросу выбора места ненормально творчески — устраиваются в хорошие офисы охранниками с минимальными обязанностями.
Читать полностью »

FizzBuzz

Когда я подавал заявку на вступление в Hacker School, я столкнулся со следующей задачкой:

Напишите программу, которая выводит числа от 1 до 100 (включительно). Если число делится на 3, выведите Fizz вместо числа. Если оно делится на 5, выведите Buzz. Если оно делится как на 3, так и 5, выведите FizzBuzz. Вы можете использовать любой язык программирования.

(С тех пор сотрудники Hacker School слегка изменили задачку, скорее всего, для того, чтобы затруднить её решение с помощью интернет-поисковиков. Я намеренно не включил сюда изменённое условие, чтобы минимизировать эффект моего поста на гуглобельность.)

Задачка довольно проста и не требует обдумывания, поэтому хорошо подходит как пример для разых языков и стилей программирования словно Hello, World или задача на поиск чисел Фибоначчи.
Читать полностью »

Два сканера, осциллограф, электрогитара: компьютерная музыка Bit 52s

Раньше, да и сейчас, достаточно популярным направлением для любителей гаджетов, программирования и музыки одновременно было собрать группу какой-либо техники для исполнения какую-либо мелодию. Я помню видео, где группа флоппи-дисководов и сканер исполняли имперский марш из «Звездных» войн. Другое видео показывало исполнение рок-мелодий еще одной группой механизмов и устройств.

Ну, а вот и новое поступление: музыкальная композиция (вернее, «клип») от Bit-52's, так называется этот «музыкальный коллектив», состоящий из осциллографа, электрогитары с механизмом для извлечения из нее звуков, барабанной установки, чего-то вроде синтезатора, двух сканеров и прочего железа.

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


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