Search
Write a publication
Pull to refresh
0
Василь Бєляєв @VXPread⁠-⁠only

C#, C++, Lua

Send message

Разработка под Symbian: SDK

Reading time2 min
Views4.8K
Речь пойдет о платформе Series 60, позже переименованной в S^1.

Это обзорная статья, если немного сумбурная — извините. Только-только исправил все ошибки в postinker elf2e32, её описание и ссылка на гитхаб — в конце статьи.
image
Читать дальше →

Гений 21 века. Чем сейчас занимается Фабрис Беллар

Level of difficultyEasy
Reading time9 min
Views59K
Некоторые программисты настолько хорошо известны, что не нуждаются в особом представлении. Наверное, Фабрис Беллар — самая яркая звезда современности. Автор мультимедийного комбайна FFmpeg, эмулятора QEMU и десятков других полезных программ — абсолютный гений и пример программиста 100х, который в одиночку принёс больше пользы миру, чем многие корпорации с сотнями разработчиков. В общем, все знают Фабриса — про него ещё была статья на Хабре двенадцать лет назад…

… Но по просьбам молодых читателей мы решили вернуться к этой теме. Оно и к лучшему, ведь Фабрис многое сделал за это десятилетие, особенно в области нейросетей.
Читать дальше →

11lc — инновационный компилятор для нового языка программирования

Reading time23 min
Views18K
Данная статья посвящена находящемуся на стадии проектирования компилятору 11lc. В ней перечисляются наиболее яркие особенности этого компилятора.

Отсутствие скрытой неэффективности


Это свойство скорее языка программирования 11l, нежели компилятора. Однако оно настолько важно и настолько отличает язык 11l от C++, D или даже Nim, что я решил разобрать его подробно в данной статье.

Уолтер Брайт, создатель языка D, писал:
Templates in C++ have evolved from little more than token substitution into a programming language in itself. Many useful aspects of C++ templates have been discovered rather than designed.

Так вот, как я считаю, нечто похожее произошло и с семантикой перемещения (move semantics). И в C++ и в D она появилась достаточно поздно, и если бы эти языки проектировались с опорой на семантику перемещения изначально, то в них было бы гораздо меньше скрытой неэффективности (hidden inefficiency). О чём идёт речь? Рассмотрю это на примере C++.
Читать дальше →

Мой вам подарок к Новому году или как наконец запустил то, что надо было давно запустить…

Level of difficultyMedium
Reading time6 min
Views40K

КДПВ


Немножко истории


Начну с истории вопроса.


Очень давно я написал Fresh IDE – навороченнoe IDE для программирования на ассемблере, а точнее на FlatAssembler.


Fresh IDE долгие годы меня полностью устраивал, поэтому я с перерывами выпустил 2 главные версии и начал просто его использовать, время от времени внося какие-то исправления и изредка новые функции.


Когда перешел полностью на Linux, оказалось, что Fresh IDE прекрасно работает под WINE, и я продолжил им пользоваться без угрызений совести. В процессе даже удалось исправить несколько багов WINE (вот, вот и вот).


Как бы то ни было, но я начал писать библиотеку для переносимости ассемблерных программ между Linux и Windows (и KolibriOS). Одновременно с этим задумался и над тем, чтобы сделать Fresh IDE переносимым. Из-за архитектуры библиотеки, огромная часть кода уже и так была переносимой. А точнее все, что не касалось GUI. К сожалению, GUI был полностью написан на Win32 API и его нельзя просто так перенести на другие платформы.


Поэтому и пришлось начинать все сначала. И третья версия Fresh IDE писалась почти с нуля.

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

Еще один год из жизни ReactOS

Reading time6 min
Views17K

Здравствуйте, дорогие друзья!

Вот и заканчивается 2023 год. В этой статье я хочу продолжить начатую в 2021 году традицию вспоминания наиболее важных событий из жизни ReactOS за год. То что статьи не появляются на Хабре, не значит что система мертва. Медленно, но верно, в ReactOS реализуются разные фичи и исправляются баги. И в данной статье мы рассмотрим что произошло в жизни системы в 2023 году.

Читать далее

Носители английского языка — худшие коммуникаторы в мире

Level of difficultyEasy
Reading time5 min
Views38K

Носители языка — худшие коммуникаторы в мире

В комнате, полной людей, для которых язык не является родным, «нет никаких шансов на понимание». Возможно, это их язык, которым они владеют, но послание часто теряется.

Читать далее

Как разогнать ЖК монитор

Level of difficultyEasy
Reading time5 min
Views14K

Что же подразумевается под разгоном матрицы монитора? Подразумевается увеличение частоты обновления монитора со стандартных 60 Гц и на сколько получится — 70-75, бывает и 120, и даже 150 Гц (!). Зачем это нужно? Чтобы повысить плавность картинки. Что означает, что частота обновления монитора — 60 Гц? Это означает, что картинка на экране меняется ровно 60 раз в секунду. При этом видеокарта может выдавать как меньшее количество fps, так и большее. Если количество кадров, выдаваемых видеокартой, меньше частоты обновления, то, значит, какой-то кадр будет дважды (а то и трижды) выведен на экран, что может привести к ощутимым задержкам. Если же количество кадров, выдаваемых видеокартой, больше частоты обновления монитора, то получится так, что на экран будет выдаваться сразу два-три кадра, что приведет к артефактам:

Читать далее

Создание простого и работоспособного генетического алгоритма для нейросети с Python и NumPy

Level of difficultyMedium
Reading time6 min
Views14K

Генетический алгоритм нужен, когда ты знаешь параметры своей нейросети, но не знаешь, что должно получиться на выходе, например, этот алгоритм можно использовать для игры в Google динозаврика или Flappy Bird, потому что там ты не знаешь, что должно быть на выходе, но у тебя есть возможность сортировать наиболее жизнеспособные варианты, например по времени, это называется фитнес функций.

У меня никогда не получалось найти такой алгоритм и чтобы он работал, и был простым, и его можно было использовать, поэтому я приступил к созданию своего легкого, простого, прекрасно работающего Genetic Algorithm.

Моя цель не растянуть написания этой статьи, и замучить читателей её длиной, поэтому сразу приступим к коду. Как уже упоминалось, код простой, поэтому большую часть не нужно описывать целыми сочинениями.

Вначале нам потребуется импортировать модули:

Читать далее

Синхронизация операций в .NET на примерах

Level of difficultyMedium
Reading time3 min
Views16K

Всем привет. Сегодня я расскажу об инструментах, которые существуют в .NET для параллельной работы с какими-то внешними ресурсами и приведу примеры, где и как их можно применить.

При параллельной работе с каким-то ресурсом, нам нужно синхронизировать доступ к нему, чтобы не попасть в состояние годнки или банально не перегрузить его. Для этого в .NET существуют следующие вещи:

Читать далее

Я изучал иностранный язык 3 месяца с DuoLingo. Почему это не самый эффективный инструмент для изучения языка

Level of difficultyEasy
Reading time5 min
Views110K

Уже чуть более трех месяцев я учил испанский язык  с помощью тренажера DuoLingo. Это первая часть эксперимента. Моей целью было оценить объем знаний и перспективы использования DuoLingo изучающими иностранный язык.

Я не тратил много времени, 10-15 минут в день, иногда меньше. При этом я намеренно не использовал других источников. В общем, действовал, как средний студент без особой мотивации.

Читать далее

Какие вопросы я задаю на собеседовании QA Junior+

Level of difficultyEasy
Reading time15 min
Views68K

Привет Хабр! Меня зовут Иван, сегодня поговорим о вопросах на собеседованиях Джуну+ (от 6 месяцев работы) и узнаем как ответить на них не как ChatGPT. Я как инженер по ручному и автоматизированному тестированию провожу собеседования на роль Junior+ QA (с дальнейшим ростом в автоматизаторы). Делюсь своим списком вопросов и ответов, которые я ожидаю услышать.

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

База для Junior QA

1. Что такое тестирование?

Сравнение ожидаемого результата с фактическим результатом ПО. Тестирование это не поиск багов!

Своими словами: тестирование - это процесс сопоставления спецификаций продукта с его финальным результатом. Под финальным результатом мы можем понимать то, что тестировщик получает, когда разработчик реализует функционал по задаче и мы начинаем его тестировать. В ручном тестировании мы сравниваем тестовые случаи с реализованным проектом, а в автоматизированном тестировании мы преобразуем ручные тестовые случаи в автоматические проверки для реализованного проекта.

Подготовиться к собесу

Хочется странного — шифрование и протокол Gemini

Level of difficultyMedium
Reading time8 min
Views6.8K

Сегодня речь пойдет НЕ о новомодной нейросети, не о космической программе NASA, не о созвездии Близнецов, и даже не об очередной криптобирже. Интернет-протоколу Gemini не повезло с названием, его все время путают с чем-то другим.

А протокол интересный, дело в том, что он (1) минималистичный, как Gopher, а значит, (2) удобный для создания самодельных компьютерных программ, работающих с ним, (3) радикально защищает читателя от скриптов, всплывающих окон и прочего, при этом (4) заточен на параноидальную приватность и безопасность, и еще там (5) непривычный подход к шифрованию канала передачи данных, о чем сейчас и поговорим.

Через колючки к звездам

Быстрый парсинг 8-битных целых чисел

Level of difficultyEasy
Reading time6 min
Views11K

Допустим, вам нужно быстро распарсить 8-битные целые числа (0, 1, 2, …, 254, 255) из строки ASCII/UTF-8. Задача взята из проекта simdzone под руководством Йероена Коеккоека (NLnet Labs). Дана строка и её длина: например, ’22’ и длина 2. Наивное решение на C может выглядеть так:

Читать далее

Как бесплатно генерить картинки в Dall-E через ChatGPT 4

Level of difficultyEasy
Reading time2 min
Views86K

Введение:

- обычный ChatGPT 3.5 работает тут https://chat.openai.com, но для генерации картинок нужен Dall-E 3 отсюда https://openai.com/dall-e-3 и желательно ChatGPT 4 (правильно осознать ваш креативный запрос), а они доступны только по премиум подписке (for Plus and Enterprise users) за 20 долларов в месяц

- чтобы обойти это ограничение, воспользуемся бескорыстием Microsoft, вложившей в OpenAI (разработчика ChatGPT) больше 13 млрд долларов для развития своего поисковика Bing 

- Bing предоставляет доступ одновременно и к ChatGPT 4 и к Dall-E 3, но через браузер Microsoft Edge и при наличии учётной записи Microsoft

Подготовка:

- создайте учётную запись в Microsoft https://signup.live.com/signup?lic=1

(если учётка уже существует, от Skype, например, пропустите этот шаг и найдите логин и пароль)

- скачайте браузер Edge https://www.microsoft.com/ru-ru/edge/download?form=MA13FW

(если браузер уже скачан, пропустите шаг)

Процесс:

- открываем браузер Edge и логинемся в нём с учётной записью Microsoft

- скачиваем VPN-плагин для браузера Edge, например, по ссылке далее и активируем его https://microsoftedge.microsoft.com/addons/detail/browsec-vpn-%D0%B1%D0%B5%D1%81%D0%BF%D0%BB%D0%B0%D1%82%D0%BD%D1%8B%D0%B9-/fjnehcbecaggobjholekjijaaekbnlgj

- открываем в браузере Edge ссылку https://www.bing.com/search?q=Bing+AI&showconv=1 и сохраняем ее в избранном

- если увидите три плашки "Творческий", "Сбалансированный" и "Точный" в разделе "Выбор стиля беседы" и строку запроса как в мессенджере в нижней части экрана, значит всё получилось (если видите "обычный" поиск Bing с разными ссылками типа "Новости о Bing AI",  "Что такое Bing" и строку запроса в верхней части экрана, значит что-то не получилось)

Читать далее

Увлекательный мир фронтенда

Level of difficultyEasy
Reading time16 min
Views18K

Фронтенд-разработка — это как собирать лего без инструкции: иногда весело и творчески, но порой ты забираешься на кровать и кричишь: «*@#%*, да где же этот пропавший блок?!»

Каждый новый проект во фронтенде — это как уникальный набор лего, и ты никогда не знаешь, какие интересные вызовы подкинет он на этот раз. 

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

Читать далее

Статический сайт на AWS с редиректом http→https, www.site→site

Level of difficultyMedium
Reading time4 min
Views3.6K

Задача

Есть AWS аккаунт, на котором требуется поднять статический сайт (html, js, css, png, jpg) на своём домене example.com.

Ссылки: http://example.com, http://www.example.com, https://www.example.com должны перенаправлять на основной сайт https://example.com.

План действий

Покупка домена.
Выпуск SSL сертификата.
Заливка файлов html, js, css в S3.
Создание двух CloudFront distributions (основного и для редиректа с www).
Привязка CloudFront функции редиректа к CloudFront distribution.
Создание A-записей в DNS.

Подробнее

Мой опыт времен флеша в геймдеве (Часть 2)

Reading time3 min
Views2.5K

Ранее я писал Как я решил сделать игру, вдохновившись Heroes of Might and Magic, и потерял деньги. И вы статью хорошо приняли (62к просмотров).

Я решил вспомнить, а с чего всё начиналось и чем по итогу закончилось - провести ретроспективу. Разработка игр - это мое хобби в свободное от работы время. Тем не менее за этот период я зарелизил 50 игр. Пробовал разработать больше, но разумеется заморозки, лень и подобные отмазки)

Возможно, кому-то будет интересно проследить этот путь и узнает себя со стороны. В прошлой статье я рассказал о первых поделках методом "тыка" с 2005 по 2008.

Сейчас я расскажу о первых играх, которые смог продать.

Да, хейтеры, их покупали, представляете оО. Вот такую "фигню") А если бы вы делали, то вообще бы разбогатели и показали мне как надо)

Читать далее

Как проверить работоспособность батареи ноутбука вне устройства и восстановить практически любую модель аккумулятора

Reading time6 min
Views34K

Всем привет! Продолжаю свой цикл DIY-публикаций, посвященных ремонту различных устройств — от ноутбуков до Nintendo Switch. На этот раз поговорим про аккумуляторы лэптопов и их тяжелой судьбе.

А точнее, о ситуации, когда батарея лежит без дела (без разницы, установлена она внутри ноутбука или находится где-то отдельно). Лежит месяц, два, полгода — а потом, когда приходит ее очередь, оказывается, что ноутбук перестал заряжаться. Кроме того, бывает крайне необходимо узнать, в каком состоянии батарея, причем без ноутбука. Под катом расскажу об интересном инструменте для этого, владельцем которого я являюсь уже пару месяцев. Сразу скажу — он больше подходит для сервисных центров, но узнать о нем будет интересно любому из нас, кто увлекается ремонтом ноутбуков и прочей электронной техники.
Читать дальше →

Делаем шарик на ёлку

Level of difficultyEasy
Reading time5 min
Views9.4K

Доброго времени суток. И полгода не прошло с момента написания моей первой статьи про лампы. По условиям конкурса, я должен потратить грант на написание ещё одной классной статьи, и это... не та статья. К сожалению, свободного времени у меня совсем немного и, хотя я и продолжаю работать над самодельными радиолампами, у меня пока нет результатов достойных публикации. Но, поскольку приближаются новогодние праздники, я решил написать небольшую статейку о моей попытке изготовить новогоднюю игрушку.

Читать далее

Как объяснить градиентный спуск вашей маме: простое руководство

Level of difficultyEasy
Reading time7 min
Views25K

Градиентный спуск лежит в основе большинства методов AI/ML. Звучит как-то странно и пугающе. Спуск? Блин, надеюсь, мне не придется прыгать с парашютом...?

Не волнуйтесь, возможно, все же придется прыгнуть, но только если вы этого захотите. Это объяснение способен понять даже ваш 10-летний племянник.

Читать далее

Information

Rating
Does not participate
Location
Одесса, Одесская обл., Украина
Date of birth
Registered
Activity