Как стать автором
Обновить
2
0
Отправить сообщение

Как построить мост между JavaScript и C++ через WASM, или гайд для самых маленьких

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

Всем привет. Сегодня я хочу рассказать об использовании WASM с C++ и разберу, как взаимодействовать с этим всем делом через JavaScript.

Материал предназначен для новичков в данной теме.

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

Механический квантовый компьютер

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

Квантовые компьютеры постепенно мигрировали от «натуральных» квантовых объектов типа ионов и quantum dots к «искусственным» объектам типа трансмонов, где роль атомных переходов выполняют собственные частоты колебаний LC контуров. К таким контурам прикручены коаксиальные кабели для возбуждения системы, считывания их состояния и регулирования их свойств. Они все еще являются квантовыми объектами и работают при низкой температуре.


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


Читать дальше →
Всего голосов 19: ↑19 и ↓0+24
Комментарии25

Как понять, что сайт был загружен из кэша

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

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

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

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

К способам
Всего голосов 8: ↑6 и ↓2+9
Комментарии11

Магия CSS на практике: советы по вёрстке от гика. Часть 3

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


Хабр, привет! Я снова пришёл к вам со статьёй, где показываю мои любимые техники вёрстки. Моя цель — поделиться опытом с вами. Я использую не только трюки известных экспертов, есть лично мои придумки. Но, пожалуйста, относитесь к этому контенту, как к просто альтернативному мнению. Мои техники не являются единственными правильными решениями.


Сегодня мы рассмотрим:

  • подходы при стилизации элементов для вёрстки текста;
  • какая может быть проблема с радиокнопками в вашем проекте;
  • как задать размеры с использованием функций min() и max();
  • CSS-наследование и свойство line-height;
  • для чего делать подсказки в имени класса.

Давайте посмотрим, что я вам подготовил.

Читать дальше →
Всего голосов 29: ↑28 и ↓1+37
Комментарии16

Анимации Hover и эффекты Blur: Полный гид по созданию динамических карточек

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

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

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

Запуск NodeJS-приложения на Android

Время на прочтение3 мин
Количество просмотров81K
Без сомнения, вам понравится запускать NodeJS на своем Android-устройстве. Благодаря эмулятору терминала и Linux-окружения для Android, разработка веб-приложений на смартфоне перестанет быть для вас проблемой.
Читать дальше →
Всего голосов 28: ↑25 и ↓3+22
Комментарии13

Код доступа Termux

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

Лонгрид посвящается любителям CLI в знак солидарности лучшего эмулятора терминала на OS Android, который испытывает «кошмарную» монополию Google.

В данной работе вербализация пойдет о нижеизложенном со всеми остановками:

[+] глубоко настраивать средý (флэшка, виджет, стиль, зеркала и конфиги);
[+] управлять серверами через ssh;
[+] скачивать ролики/отрывки с YouTube;
[+] нарезать видео, создавать gif;
[+] воспроизводить текст/музыку/радио прямо в CLI;
[+] нарезать mp3-бигфайлы (аналогов приложений на Android попросту нет), и склеивать аудиофайлы;
[+] редактировать документы;
[+] проверять орфографию: как текстовых файлов, так и различных статей по url, например, проверка орфографии статей на Habr-e;
[+] генерировать словари различной сложности со скоростью Си;
[+] создавать блок-схемы; графики; облако слов и даже 3D-визуализацию;
[+] заниматься Data Science на Android-мощностях;
[+] тестировать интернет соединение/интерфейс (требуется частично Root);
[+] сниффить/сканировать сети (требуется частично Root);
[+] запускать и управлять TOR-сетью (deleted);
[+] управлять приложениями и процессами в ОС Android (требуется Root);
[+] анализировать память;
[+] защищать любые данные от случайного редактирования/уничтожения (требуется Root);
[+] автоматически шифровать и бэкапить по ночам любые данные в своё облако;
[+] чекать username(s) и e-mail(s);
[+] проводить аудит безопасности (об опасности сердить скрипт-кидди с их любимыми: «сниффить, парсить, брутить, дампить, сканить, фишить»);
[+] работать с электропочтой;
[+] изучать UNIX/shell;
[+] программировать на Android (на выбор пользователя. В Termux портированы несколько интерпретируемых и компилируемых языков программирования);
[+] запускать python/php/npm скрипты в т.ч. в одно касание с рабочего стола;
[+] работать с криптографией, стеганографией и цифровыми подписями;
[+] парсить данные;
[*] и даже запускать GNU-GUI-софт из CLI.

Погрузиться в GNU культуру
Всего голосов 28: ↑27 и ↓1+28
Комментарии46

Понятно про браузер: критические этапы рендеринга, аппаратное ускорение и оптимизации

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

В статье детально разобраны этапы браузерного рендеринга, от парсинга HTML до композиции, описана техническая работа на этапе лейаута, приведены практические советы по оптимизации, которые помогут выявлять и устранять узкие места в коде. Описана польза FLIP анимаций и дан пример ее реализации.

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

Ультимативный ресурс по программированию: сборник бесплатных чит-листов по программированию

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

В мире программирования чит-листы — это секретное оружие каждого разработчика. От новичков до опытных программистов, эти чит-листы помогают быстро найти нужную информацию и повысить продуктивность. Сегодня я собрал для вас лучший набор чит-листов по различным языкам программирования и инструментам, от Python до Docker.

Обязательно сохраняйте в закладки!

Читать далее
Всего голосов 29: ↑23 и ↓6+17
Комментарии14

Думаете, вы всё знаете о box shadows?

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

Я люблю box-тени.

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

Я хочу поделиться худшими примерами того, что можно сделать при помощи box-теней в одном div. Примерами, которые не должны работать, однако почему-то работают. Но прежде чем приступить, нужно ответить на вопрос: что же такое box-тень?

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

Как я обучил модель, которая понимает русский лучше GPT 3.5 Turbo

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

В этой статье я расскажу, как я смог обучить модель, которая превзошла GPT 3.5 Turbo на русскоязычной части MT-Bench. Также я рассмотрю новую конфигурацию для обучения на двух графических процессорах параллельно с помощью accelerate и deepspeed.

Особенный интерес представляет мой датасет для обучения. Он получен из сабсета мультиязычных промтов набора lightblue/tagengo-gpt4 на русском, английском и китайском, всего 10 тысяч примеров, сгенерированных с помощью GPT-4o. Это в 8 раз меньше, чем исходный набор Tagengo, но обученная на последнем Suzume, как показали бенчмарки, лишь очень незначительно превосходит мою модель на ru_mt_bench, а на англоязычном бенче и вовсе уступает ей. Это значит, что я в разы сэкономил на GPU за счет более высокого качества данных, полученных с помощью GPT-4o. 

Я использовал скрипт для получения ответов по заданным промптам. Для генерации русскоязычной выборки я изменил часть скрипта, чтобы выбрать все промпты на русском из Tagengo (8K примеров), так как основной фокус при обучении модели был на русском языке. 

В итоге я получил датасет ruslandev/tagengo-rus-gpt-4o и приступил к обучению.

Для этого я создал виртуальную машину с NVIDIA H100, используя сервис immers.cloud. Для достижения наилучших результатов по instruction-following (что проверяется на MT-Bench) я взял в качестве исходной модели meta-llama/Meta-Llama-3-8B-Instruct. Именно на ней обучена модель Suzume, у которой высокая оценка на MT Bench. Предыдущие эксперименты показали, что базовая Llama-3 8B,  а особенно ее четырехбитная версия для QLoRA  unsloth/llama-3-8b-bnb-4bit - значительно отстает по оценкам бенчмарка.

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

Быть или не быть: вопросы расшифровки данных после атаки программ-вымогателей

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

В этом блоге мы кратко расскажем, что происходит после шифрования ИТ-инфраструктуры, что чувствует жертва, какие действия предпринимаются ею для восстановления своей инфраструктуры. Что следует и не следует делать пострадавшим от атаки вымогателей, что могут предложить им ИБ-компании в таких случаях, рассказал Андрей Жданов, главный специалист по анализу вредоносного кода и проактивному поиску угроз Лаборатории цифровой криминалистики F.A.C.C.T.

На конкретном примере продемонстрируем нестандартный подход по поиску решения по расшифровке данных.

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

JavaScript: структуры данных и алгоритмы. Часть 2

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


Привет, друзья!


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



Сегодня мы будем говорить о таких структурах данных, как хэш-таблица, куча, очередь с приоритетом и префиксное дерево.


Код, представленный в этой и других статьях серии, можно найти в этом репозитории.


Интересно? Тогда прошу под кат.

Читать дальше →
Всего голосов 15: ↑15 и ↓0+21
Комментарии2

Насколько нам нужно визуальное программирование?

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

Большинство сред визуального программирования не находят достойного применения. Как вы думаете, почему? Они нацелены на замену синтаксиса кода и бизнес-логики, но разработчики никогда эти аспекты не визуализируют. Напротив, они визуализируют переходы состояний, схемы распределения памяти или сетевые запросы.

На мой взгляд, те, кто работает с визуальным программированием, гораздо больше преуспеют, если начнут с аспектов программного обеспечения, которые разработчики уже визуализируют.
Читать дальше →
Всего голосов 37: ↑34 и ↓3+47
Комментарии166

10 лет с солнечной электростанцией

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

Прошло 10 лет с тех пор, как я сам собрал свою первую солнечную панель и сделал автономную солнечную электростанцию в своем доме. С тех пор и самодельные солнечные панели заменил на заводские, и нарастил мощности, и поменял несколько инверторов, но забегая немного вперед скажу: солнечная электростанция — это одно из лучших моих решений при строительстве своего дома. А в качестве бонуса в конце я расскажу о жизни на метеостанции в полной энергетической автономии в 300 км от ближайшего населенного пункта.

Читать далее
Всего голосов 116: ↑113 и ↓3+135
Комментарии308

Магия CSS на практике: советы по вёрстке от гика

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


Хабр, привет! Я частенько пишу про работу CSS, его неизвестные возможности и влияние на доступность. Кажется, этих направлений мало для меня. Теперь я хочу показать техники вёрстки, используемые мной постоянно.


Цель — поделиться опытом с вами. Я использую не только трюки известных экспертов, есть лично мои придумки. Но, пожалуйста, относитесь к этому контенту, как просто альтернативному мнению. Мои техники не являются единственными правильными решениями.


Сегодня я расскажу:

  • как избавиться от соседнего родственного комбинатора + при реализации нестандартных чекбоксов и радиокнопок;
  • про свойство inset, сокращающее код на целых три строки;
  • мой сниппет для расширения интерактивной области у кнопок и ссылок;
  • стиль написания медиа-запросов, позволяющий сократить количество правил;
  • альтернативный способ центрирования элемента без свойства transform.
Читать дальше →
Всего голосов 39: ↑39 и ↓0+54
Комментарии9

Топ 10 deepnude нейросетей 2023 года

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

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

Итак, в данной статье поговорим о пикантных и для некоторых людей непристойных темах, которые больше всего интересуют наше общество - обнаженное тело. Сделаем обзор таких сервисов как: Deepnude.ai, Deepfake.com, DeepSwap.ai, SoulGen и прочих.

Читать далее
Всего голосов 87: ↑73 и ↓14+85
Комментарии68

Деплоим Next.js приложение через PM2

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

Недавно мне посчастливилось развернуть Next.js на сервере с помощью PM2. Этот способ я не нашел в документации фреймворка, хотя считаю его довольно удобным, при этом гайдов по теме оказалось очень мало. Рассказываю, как всё сделать, и привожу рабочие примеры.

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

NocoDB, open-source аналог Airtable

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


Airtable — классный инструмент, заслуживший признание у бизнеса по всему миру. Возможность работать с базами данных в удобном no-code интерфейсе с разными представлениями и типами данных не нова, но если в Spreadsheets (где таблица даже не является базой) данные приходилось конвертировать плагинами и костылями, то в Airtable рабочий процесс такой же плавный и удобный, как в Notion при работе с текстом. Но есть один нюанс: Airtable работает по модели сервиса с ограниченным бесплатным функционалом, а код, конечно, закрыт. К счастью, опенсорс-сообщество равно или поздно создаёт открытые альтернативы всем популярным сервисам, и благодаря совместной работе двух десятков разработчиков появился NocoDB.
Читать дальше →
Всего голосов 25: ↑25 и ↓0+25
Комментарии1

Неожиданная полнота по Тьюрингу повсюду

Время на прочтение13 мин
Количество просмотров62K
Каталог программных конструкций, языков и API, которые неожиданно являются полными по Тьюрингу; последствия этого для безопасности и надёжности. Приложение: сколько компьютеров в вашем компьютере?

Любая достаточно сложная программа на Си или Фортране содержит заново написанную, неспецифицированную, глючную и медленную реализацию половины языка Common Lisp. — Десятое правило Гринспена

Полнота по Тьюрингу (Turing-completeness, TC) — это свойство системы при некотором простом представлении ввода и вывода реализовать любую вычислимую функцию.

Тьюринг-полнота — фундаментальное понятие в информатике. Она помогает ответить на многие ключевые вопросы, например, почему невозможно создание идеальной антивирусной программы. Но в то же время она является поразительно распространённым явлением. Казалось бы, компьютерной системе трудно достичь такой универсальности, чтобы выполнять любую программу, но получается наоборот: трудно написать полезную систему, которая немедленно не обратится в полную по Тьюрингу. Оказывается, что даже небольшой контроль над входными данными и преобразованием их в результат, как правило, позволяет создать тьюринг-полную систему. Это может быть забавным, полезным (хотя обычно нет), вредным или чрезвычайно небезопасным и настоящим подарком для хакера (см. о «теоретико-языковой безопасности», которая изучает методы взлома «странных машин»1). Удивительные примеры такого поведения напоминают нам о том, что полнота по Тьюрингу таится повсюду, а защитить систему чрезвычайно сложно.
Читать дальше →
Всего голосов 54: ↑53 и ↓1+52
Комментарии15
1
23 ...

Информация

В рейтинге
4 802-й
Зарегистрирован
Активность