Как стать автором
Обновить
75.71

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

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

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

Бесплатные боты, чтобы раздеть девушку по фото в 2024

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров6.3K

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

Спойлер: бесплатный бот делающий качественно я нашел только один: https://t.me/fastnudifybot

Читать далее
Всего голосов 29: ↑22 и ↓7+23
Комментарии16

Новости

Как Unity отказались от своих строк

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров9.5K

В 2014 году в движке Unity набралось столько критических изменений и новинок, что «пятерка» фактически была другим движком. И хотя многие за одинаковым фасадом не особо этого и заметили, но изменения коснулись всех компонентов движка, начиная от файловой системы и заканчивая рендером. Питерский офис EA имел свою ветку основного репозитария, отставая от мастера максимум на месяц. Я уже писал про различные реализации и типы строк в игровых движках, но в Unity была своя реализация, имевшая как положительные так и отрицательные стороны, которая использовалась практически во всех подсистемах. К ней привыкли, знали слабые стороны и плохие «use cases» и хорошие «best practices». Поэтому когда эту систему стали выпиливать из движка много чего поломалось, и если у обычных пользователей был сразу переход на новую версию и наблюдались только отголоски шторма, то допущенные до «тела» наловили много прикольных багов.

Эти строки - вам не те строки
Всего голосов 22: ↑22 и ↓0+30
Комментарии44

Эзотерические языки программирования: панорамный обзор

Уровень сложностиПростой
Время на прочтение16 мин
Количество просмотров7.5K

Несмотря на то, что программирование прочно вошло в нашу жизнь, многим оно до сих пор кажется какой-то совершенно непонятной магией. Что уж говорить о прежних временах, когда даже простой процесс хакинга в кино изображали с разными психоделическими спецэффектами, чтобы достичь «вау-эффекта».

Но в IT всегда были люди, которым мало «обычного» хардкорного кода, и они начали изобретать собственные, иногда совершенно безумные и оригинальные эзотерические языки программирования. О них мы сегодня и поговорим.

Прыгнуть в бездну
Всего голосов 22: ↑21 и ↓1+28
Комментарии7

Void me

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров9.8K

void в плюсах довольно забавная штука. Мы можем привести к void почти любой тип, завести указатель с типомvoid*, который может адресовать что угодно. Еще можем сделать функцию с возвращаемым типом void , которая ничего не возвращает. Объявление функции типа void f(void) будет просто функцией без аргументов. Но вот иметь объекты типа void или написать что-то вроде void& не можем. Это немного странно, но не настолько, чтобы вызывать у вас бессонные ночи, пока вы не начинаете ловить странные баги, когда void вообще не void.

Проблема возникла где не ждали, а именно на проекте немного обновили бенчмарк фреймворк, казалось что такого может случиться на выполнении тестов?

"Ничего хорошего не случится" - сказал техлид и в пятницу вечером залил, в обход этих самых тестов, новый фреймворк. А сам укатил на какую-то конференцию.

Узнать чем все закончилось
Всего голосов 22: ↑21 и ↓1+30
Комментарии153

Истории

Пишем алгоритмы на самом ненужном языке в мире и страдаем

Уровень сложностиСложный
Время на прочтение38 мин
Количество просмотров38K

Привет, Хабр!

То, что будет происходить ниже – сущий ад. Я буду писать простейшие программы на языке Whitespace (Но не такие простые, как в прошлой статье). Этот язык настолько ненужный, что оригинальный сайт с интерпретатором для этого языка уже давно мертв, все ссылки на оригинальные гайды, соответственно – тоже.

Наверное, в этой форме надо написать выжимку для привлечения внимания? Нуу, мы с головой запрыгнем в язык, состоящий из пробелов, черт побери, что вам еще нужно? А потом этим пробельным кодом отформатируем отрывок из книги «Война и Мир», и он будет прекрасно компилироваться.

Читать далее
Всего голосов 41: ↑40 и ↓1+50
Комментарии19

AILink для Wolfram и плагины для ChatGPT

Время на прочтение7 мин
Количество просмотров1.3K

Я сделал небольшой клиент для Wolfram Language, который умеет вызывать OpenAI API и другие API, которые на него похожи. Сам активно пользуюсь им и хочу рассказать о том, как легко создать ассистента на основе OpenAI API и добавить в него свои собственные плагины.

Зачем я это делаю?

Во-первых, я не так часто вижу на Хабре утилитарные статьи, где рассказывается о том, как использовать нейросеть с примерами кода. И особенно мало таких статей, где речь идет про конкретные плагины.

Во-вторых, у Wolfram Language есть фантастически крутой блокнотный пользовательский интерфейс. Речь конечно же про Mathematica и про наш родной отечественный WLJS Notebook. Формат интерактивного блокнота как нельзя лучше подходит для работы с чат-ботами, LLM и нейросетями.

В-третьих, в пакете AILink есть киллер-фича WL из коробки, которая доступна всем пользователям Wolfram Language - это Cloud Evaluate. С его помощью вам не потребуется VPN для обхода блокировки по региону со стороны OpenAI. То есть AILink в Wolfram Language работает в РФ без использования прокси!

В-четвертых, я как фанат Wolfram Language просто в очередной раз хочу про него рассказать.

Читать далее
Всего голосов 5: ↑5 и ↓0+7
Комментарии3

Играем в кости с Дейви Джонсом

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров1.4K
В этот раз, поговорим о текстовых квестах. В далёких 2000-ых годах, легендой российского геймдева стала (и надолго осталась впоследствии) выдающаяся во многих отношениях игра — "Космические рейнджеры". В немалой степени, своим оглушительным успехом она была обязана текстовым квестам, очень атмосферным и разнообразным. Квесты с самого начала жили своей жизнью, а затем, благодаря Василию Рогину, появился Web-плейер с удобным графическим редактором, во многом подстегнувший процесс кустарного изготовления собственных квестов. Правда само программирование на нём традиционно очень далёко от «нормального». Окунёмся же в этот безумный мир, попутно разработав что-нибудь нетривиально-увлекательное…
Читать дальше →
Всего голосов 6: ↑6 и ↓0+8
Комментарии0

PostgreSQL Antipatterns: «вращаем» JSON

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров3.3K

Принимать сложные параметры запроса в виде JSON - полезно, хранить его в базе - удобно, но работа с ним в рамках SQL-запроса зачастую вызывает затруднения.

Сегодня столкнулся с очередным нетипичным вариантом использования - "перекладыванием" значений из JSON-строк в столбцы.

Давайте сделаем это попроще.

Читать далее
Всего голосов 20: ↑20 и ↓0+26
Комментарии4

Еще один язык разметки для аналитиков

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров7.3K

Всем привет! Меня зовут Артем, я аналитик, занимаюсь автоматизацией бизнес процессов и учета, преимущественно в крупных производственных холдингах.

В этой статье я буду рассуждать о графических артефактах в технической документации. О том, какие существуют визуальные языки, о подходе «docs as code», задачах которые нужно решать применительно к графике в рамках этого подхода и инструментах которые пробовал использовать. Также рассмотрю возможные, на мой взгляд, улучшения процесса работы с графическими артефактами и расскажу о попытке спроектировать и реализовать свой собственный язык разметки.

Читать далее
Всего голосов 5: ↑5 и ↓0+8
Комментарии6

Шеф, всё пропало

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров18K

Ошибки программистов C++ — это отдельный вид искусства, вроде бы простой язык, но стоит отвлечься на чашечку кофе, как компилятор начинает вываливать простыню ворнингов пополам с ошибками, и иногда это больше похоже на древнеегипетские письмена, чем на нормальный выхлоп. Вы наверное и сами не раз сталкивались с разыменованием nullptr или перепутали (= и ==) по недосмотру. Часто причиной ошибкой является лень или невнимательность, или усталость - не зря появились суеверия "не комитить в пятницу вечером", "не кодить в состоянии изменного сознания" или "избегать кода под кофейным угаром", ну это когда три-четыре кружечки кофе навернул и пошел нести добрый код направо и налево.

Вообще статья планировалась про то как можно поиздеваться над switch оператором - была у меня запись разговора с одного питерского митапа, проходившего несколько лет назад и где присутствующим предложили написать "невозможный", но работающий код со switch. И вот в поисках этой записи я наткнулся на файл с описанием "пятничных" багов и комитов, которые бы в трезвом уме посреди недели врядли бы проскочили в мастер. А еще была статья тоже про ошибки "Федя, дичь", где уважаемый хабрачитатель угадывал причину разных ошибок, явных или не очень. Поэтому я решил продолжить в том же стиле, вопрос - ответ, а вам предлагаю также поучаствовать в отгадывании возможных причин. Все примеры из реальных проектов, игр, движков и пятничных комитов.

C++ не прощает ошибок, но именно в этом его "шарм". В большинстве приведенных примеров сохранен стиль и названия параметров, только немного подчищены коментарии, дабы не палить контору.

Поотгадывать баги, выпить чашечку кофе...
Всего голосов 29: ↑29 и ↓0+41
Комментарии37

Пилим движок Arcanum. Урок 03. Работа с памятью, используем полиморфные аллокаторы

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров7K

Приветствую Хабравчане!

Продолжаем мучить разрабатывать движок для моей любимой игры Arcanum. В данном уроке расскажу, как движок управляет памятью и какие паттерны и подходы использует. Напишем свою мини реализацию полиморфных аллокаторов из С++ 17. Расскажу о некоторых оптимизациях в движке.

Читать
Всего голосов 14: ↑12 и ↓2+14
Комментарии4

Некоторые малоизвестные фичи, фокусы и причуды языка C

Время на прочтение19 мин
Количество просмотров28K

В этом посте разобраны некоторые фокусы, причуды и фичи языка C (некоторые из них – весьма фундаментальные!), которые, казалось бы, могут сбить с толку даже опытного разработчика. Поэтому я потрудился сделать за вас грязную работу и (в произвольном порядке) собрал некоторые из них в этом посте. Примеры сопровождаются ещё более вольными краткими пояснениями и/или листингами (некоторые из них цитируются).

Конечно же, здесь я не берусь перечислять абсолютно всё, так как факты из разряда «функция nan() не может устанавливать errno, поскольку в определённых ситуациях поведёт себя как strtod()» не слишком интересны.

ВНИМАНИЕ: сам факт попадания тех или иных вещей в эту подборку  не означает автоматически, что я рекомендую или, наоборот, не рекомендую ими пользоваться! Некоторые из приведённых примеров никогда не должны просачиваться за пределы списков наподобие этого, тогда как другие примеры невероятно полезны! Уверен, что могу положиться на ваш здравый смысл, дорогие читатели.

Читать далее
Всего голосов 82: ↑81 и ↓1+100
Комментарии45

Интересные ИТ-новости за сентябрь, которые вы могли пропустить

Время на прочтение7 мин
Количество просмотров2.2K

«Мир изменился. Я чувствую это в воде, чувствую в земле, ощущаю в воздухе…». А что именно такого случилось в сентябре, расскажу я — Андрей Аврамчук из МТС Диджитал.

Мы живем в мире новостей, но иногда интереснее попробовать понять, что находится за ними. Для этого я разбил новости на несколько групп. Под катом узнаете, что там с освоением космоса частными компаниями, как ИИ распознает пение китов и насколько быстро (нет) Linux работает на базе процессора Intel 4004, выпущенного в 1971 году. Поехали!

Читать далее
Всего голосов 10: ↑8 и ↓2+14
Комментарии9

Ближайшие события

7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
22 – 24 ноября
Хакатон «AgroCode Hack Genetics'24»
Онлайн
28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань

Ruby и встраиваемые системы

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров2.2K

Казалось бы, какое отношение «хипстерские скрипты для веб» могут иметь к жестоким реалиям embedded‑разработки, со всей их низкоуровневой работой и ограниченными ресурсами? Но реальность в очередной раз оказалась куда интересней предубеждений, так появилась на свет эта статья.

Читать далее
Всего голосов 10: ↑8 и ↓2+12
Комментарии11

Автоматизируем подключение Сisco AnyConnect на Mac OS

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров2.8K

Так сложилось, что у меня на работе используется Cisco AnyConnect Secure Mobility Client. Периодически приходится подключаться к рабочему VPN используя эту программу. Мне, как человеку постоянно работающему в терминале, захотелось иметь под рукой консольную утилиту, которая сама введет пароль и TOTP, после чего инициирует подключение.

Как это сделать?
Всего голосов 5: ↑5 и ↓0+9
Комментарии19

О том как я генератор Brainfuck кода писал

Уровень сложностиСредний
Время на прочтение39 мин
Количество просмотров1.5K

Разбираемся в Brainfuck, Пишем для него генератор кода и интерпретатор

Или рассказ о том, как я решал легкую C задачку

Однако я решил что решать эту задачу привычным методом будет скучно и я решил слегка усложнить себе задачу, чтобы поинтереснее было. Так и появилась идея написать этот код на brainfuck, а на C интерпретатор для него.

Естественно делать это голыми руками будет больно и не приятно, поэтому я решил написать генератор brainfuck кода на Java.

Читать далее
Всего голосов 7: ↑7 и ↓0+13
Комментарии2

Программист-4chan'овец

Время на прочтение4 мин
Количество просмотров1.9K

Мы используем Go для создания Dolt, первая в мире БД SQL с контролем версий. Как и большинство кодовых баз, основанных Go, мы используем каналы и горутины(от переводчика, автора этой статьи на Хабре: у меня есть хорошая статья на тему параллелизма в Go) для реализации параллелизма. Как правило мы используем эти конструкции очень скучным и обычным путем, ведь параллелизм и так сложен без всяких выдумок. Но в одном месте мы все-таки взяли маленький кусочек кода из другого open-source проекта, который использует каналы очень интересным способом...

Читать далее
Всего голосов 8: ↑5 и ↓3+6
Комментарии3

«Голая Java» или разработка без всего

Уровень сложностиСложный
Время на прочтение33 мин
Количество просмотров23K

Рассказываю что можно сделать на одном только голом JDK. Это старое и ныне почти забытое искусство разработки без внешних библиотек и фреймворков. Работать будем «как в былинные времена» — киркой и лопатой голыми руками и немного мозгом.

Читать далее
Всего голосов 73: ↑67 и ↓6+79
Комментарии107

Основы Whitespace: невидимого языка программирования

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров11K

Привет, Хабр! Сегодня я расскажу про whitespace.

Whitespace — это уникальный язык программирования, который использует в качестве своего алфавита только непечатные символы: пробелы, табуляцию и новые строки. Этот эзотерический язык был создан Эдвином Брэди и Крисом Моррисом в 2003 и, разумеется, не предназначен для практического применения, существуя как определенный вызов для программистов — мол, попробуй отладить невидимый код.

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

И в этой статье мы рассмотрим базовые принципы этого безумного языка.

Читать далее
Всего голосов 19: ↑18 и ↓1+25
Комментарии17

Как GPT-4o помог мне создать плагин для After Effects: экономим часы на нейминге слоев

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров4.7K

В индустрии анимации и визуальных эффектов время — бесценный ресурс. Работая над проектами, содержащими сотни или даже тысячи слоев, переименование каждого слоя вручную превращается в изнурительную задачу, способную занять часы. Это не просто утомляет — это выбивает из творческого потока и негативно сказывается на качестве работы. Время, которое могло быть потрачено на создание анимации, уходит на приведение проекта в состояние, когда с ним «хоть как‑то можно начать работать».

Читать далее
Всего голосов 14: ↑13 и ↓1+19
Комментарии9
1
23 ...

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