Здравствуйте.
Сегодня я хотел бы показать вам небольшой timelapse кодинг на Wct (1023 байта).
Накодил я Nyan cat-a с музыкой в 1023 байта.
Ссылка на GitHub:
github.com/Mihip/Wct
Здравствуйте.
Сегодня я хотел бы показать вам небольшой timelapse кодинг на Wct (1023 байта).
Накодил я Nyan cat-a с музыкой в 1023 байта.
Ссылка на GitHub:
github.com/Mihip/Wct
В прошлом, найдя интересное решение при написании демки, я тихо его использовал или же хвастался узкому кругу друзей на демосцене. Но теперь мои возможности достигнуть чего-либо на демосцене подошли к концу, а турниры по минималистскому программированию не проводятся, поэтому я решил написать в блог о своём достижении: генераторе лабиринтов объёмом всего в 13 байт машинного кода x86.
Чтобы понять суть достижения, вам надо знать о команде 10 PRINT. Это строчка кода Commodore 64 BASIC, которая при запуске создаёт бесконечный лабиринт. Конечно, её вывод – это не настоящий лабиринт, входа и выхода там нет, и полно закрытых помещений и тупиков. Но выглядит он как лабиринт. Поражает то, как простая команда выдаёт бесконечно сложный шаблон.
Читать полностью »
Наша компания занимается созданием Интернет-магазинов запчастей на собственной SaaS-платформе (ABCP.RU), а также у нас есть несколько связанных проектов, например, сервис поиска запчастей 4MyCar.ru.
Как и многие другие веб-проекты, мы в своё время пришли к пониманию необходимости геолокации по IP-адресу. Например, сейчас она используется на 4MyCar.ru для определения региона (при первом входе на сайт регион автоматически устанавливается именно так).
Аналогично производится выбор ближайшего к клиенту филиала магазина на сайтах клиентов платформы ABCP.
Вдохновлённый постом «Простой диспетчер задач с веб-интерфейсом, написанный на языке GO для Unix-систем включая Android», языком Go и утилитой simple status, я решил написать в качестве забавного эксперимента чат-бота для социальной сети Vkontakte со схожим функционалом.
Почему выбор пал на чат-бота и социальную сеть? Кроме очевидного just for fun имеются и практические выкладки:
Привет всем программистам. Особенно любителям поломать свою голову. Хочу поведать вам о такой штуке, как Wct.
Wct — система счисления, которая состоит полностью из букв и предназначена, в общем, для «взрыва» своих мозгов. В Wct всего 16 символов, а именно:
A, B, C, D, E, F, G, H, I, J, K, L, M, N, P, O
(идентична HEX, но полностью состоит из букв).
Да-да, всё верно, O идёт после P (что тоже значительно усложняет процесс написания программ в некоторых случаях, особенно, если вы новичок).
Читать полностью »
На самом деле все происходит не так...
Начитавшись статей про [все что угодно] на JavaScript в 30 строк кода, я подумал: чем я хуже? Не найдя в перечне своих недостатков пункт «написание плохого кода», решил сделать что-нибудь интересное.
Лабиринты всегда веяли в мою сторону некоторой магией и загадками, поэтому поиск «чего-нибудь интересного» закончился достаточно быстро. К сожалению, создание игры затянулось на долгие часы экспериментов над консолью и моими нервами.
Изначально, осознавая размеры праведного гнева адептов непорочного программирования, я не планировал публиковать свои труды, но после того, как игра понравилась коту, паре друзей и моему самолюбию — решил написать статью (благо в нее можно внедрить теоретическую часть).
Для сторонников принципа «меньше знаешь — крепче спишь» предлагается cсылка на JSFiddle (управление стрелочками).
Читать полностью »
Эзотерические языки программирования — это нечто среднее между шуткой в индустрии программного обеспечения, искусством и исследованием пределов знаний человечества. Как правило, вне узких кругов гиков известны не образцы, являющиеся математическими доказательствами, а Brainfuck и что-нибудь популярное, к примеру, ArdnoldC. Новые примеры эзотерических языков появляются достаточно часто.
Дэниел Темкин создал эзотерический язык программирования Folders. Это первый язык, созданный специально для его блога esoteric.codes. Как следует из названия, программирование в этом языке не требует файлов, нужно лишь дерево папок файловой системы, структура которого и определяет код. Пример Hello World на языке Folders представлен слева.
Читать полностью »
Сидел вечером дома, думал чем бы заняться. А: у Python есть отладчик, но в нём совершенно некрасивое приглашение ко вводу. Дай‐ка я впилю туда powerline. Дело казалось бы совершенно плёвое: нужно просто создать свой подкласс pdb.Pdb со своим свойством, да?
def use_powerline_prompt(cls):
'''Decorator that installs powerline prompt to the class
'''
@property
def prompt(self):
try:
powerline = self.powerline
except AttributeError:
powerline = PDBPowerline()
powerline.setup(self)
self.powerline = powerline
return powerline.render(side='left')
@prompt.setter
def prompt(self, _):
pass
cls.prompt = prompt
return cls
Идентификаторы (identifiers) – специальный термин спецификации C# отожествляющий собой всё к чему можно обратиться по имени, как например название класса, имя переменной и т.д.
Roslyn – компилятор C# кода, написанный на C#. Был создан взамен существующего csc.exe. Я обычно опускаю слово компилятор в данном тексте.
Для начала несколько вещей о которых вы могли не слышать:
Из всего этого вытекают некоторые проблемы…
Все началось с обсуждения на собрании технической группы ECMA на прошлой неделе. Мы рассматривали «нормативные ссылки», и в частности какую версию стандарта Unicode мы будем использовать. На тот момент спецификация ECMA-335 (4-ое издание) использует Unicode 4.0, а спецификация C# 5 от Microsoft использует Unicode 3.0. Я точно не знаю, учитывают ли разработчики компиляторов такие особенности. На мой взгляд было бы лучше, если ECMA и Microsoft не указывали конкретную версию Unicode в своих спецификациях. Пусть разработчики компиляторов используют самую свежую версию Unicode, доступную на текущий момент. Однако тогда компиляторы должны будут поставляться со своей личной копией таблицы Unicode, что немного странно, на мой взгляд.
Читать полностью »