Обновить

Все потоки

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

Свершилось!

Ребят, свершилось! Logitech таки анонсировал представил официально свою новую солнечную клавиатуру. Называется она Signature Slim Solar+ K980 (индекс, вероятно, нужен для учёта моделей).

Стоимость клавиатуры - 99,99 долларов. Есть два типа - под Mac и Windows.

Производитель солнечной панели так и не назван. Швейцарцы «прикрываются» собственной технологией Logi LightCharge, которую они начали разрабатывать в конце 2022-го или начале 2023-го года. И, вероятнее всего, заключается «разработка» в солнечной панели, контроллере заряда и аккумуляторе, о котором известно больше всего. Это, скорее всего, перезаряжаемая литиевая «пуговица» ML2032 (аналог CR2032) ёмкостью 65-70мАч. И для того, чтоб от неё можно было питать клавиатуру 4 заявленных месяца, компания пошла на сокращение энергодефицита путём отсекания избыточных (на их взгляд) функций. Ну, типа подсветки клавиш и индикатора заряда АКБ. Его теперь можно посмотреть в приложении.

Ну, будем мониторить дальше. Кстати, пару часов назад на официальном канале появились видео о том, как работать на клавиатуре, как настраивать её да и вообще – прикольные product rewiew.

А, кстати, судя по обзору The Verge, клавиатуру показывали на CES-2025. А я и не заметил. А ещё Кэмерон Фолкнер заметил, что заряжается Slim Solar+ от любого типа освещения мощностью (точнее – яркостью) более 200 нит. Если что, средняя яркость современных мониторов – 400-600 нит. Делаем выводы и делимся предсказаниями насчёт того, зря или не зря Logitech выпилила USB-C зарядку

И да, спасибо Максу за сигнал!

@solarnews
#Logitech #клавиатура #CES #solarnews #соларньюс

Теги:
Всего голосов 2: ↑2 и ↓0+3
Комментарии1

Вглядываясь в бездну.

Чем дольше живу, тем сильнее поражаюсь способности людей «заплетать» свои собственные мозги. И, кажется, программисты в этой области вне конкуренции.
Уже писал некоторое время назад, как я завел цикл внутри цикла с тем же именем счетчика.
Это было пару часов отчаяния, сопровождавшегося размышлениями о том, что фундаментальные законы мира внезапно изменились, а меня забыли поставить об этом в известность.
Недавно я повторил этот трюк, правда с некоторыми занятными модификациями. Был у меня в проге цикл по объектам в списке. Там смысл в том, что при некотором условии новый объект добавлялся в конец этого самого списка. Все бы ничего, но в этот момент счетчик объектов инкрементировался. А он то как раз и служил верхней границей цикла… В общем, как легко понять, дело кончилось segmentation fault… Но эту бажину (хотя она даже более заморочная на мой вкус) , я нашел относительно быстро, не успев погрузиться в бездну отчаяния. Кода было немного, поэтому обошлось без смен компилятора и переустановок IDE… В этот раз, можно сказать, повезло. И бездна отчаяния меня миновала. Но тот, кто ищет проблем, обязательно их находит. И что самое удивительное, что я их нахожу всегда в одном месте.
Я в-общем то хорошо знаю, что люди еще не придумали ничего хуже конечных автоматов (state machines). И вот уже 35 лет регулярно наступаю на одни и те же грабли… В этот раз мне всего-навсего нужен был один флаг. В задаче Винтика и Шпунтика используется нетривиальный алгоритм, многократно использующий рекурсию. Ну и мне нужен был этот флаг, как индикатор того, что некое событие произошло. А когда происходило другое событие, этот флаг сбрасывался. Стандартная, в-общем, ситуация, но внутренний голос немедленно поднял «красный флаг опасности» и зашептал в голове «Нахлебаешься, Валер, ой, нахлебаешься...» И вот тут бы мне остановиться и подумать, но я, как обычно, решил, что сейчас сделаю, а подумаю потом…
Все дело в том, что эти флажки (или состояния конечного автомата) имеют дурное свойство размножаться, куда быстрее чем кролики. За первым флажком немедленно последовал второй — ну просто для того, чтобы обозначить функцию, которая первый флаг установила. А потом третий, чтобы обозначить функцию, которая его сбросила… И мне уже казалось, что вот они разверзающиеся врата ада, но, конечно же, это было еще не так.
Ибо настоящий ад наступил, когда программа стала многопоточной. И это еще при том, что у меня есть хорошая привычка обкладывать модификацию всех этих флажков критическими секциями. Даже если не надо. Всегда легче потом убрать и удивиться тому, что все работает, чем сутками докапываться, почему нет. Это уберегло меня от многих проблем, но не уберегло от главной. Сейчас этих флажков в программе 12. И они живут своей собственной жизнью. Я уже не в состоянии отследить кто, где, когда и зачем их модифицирует. Начал думать о том, что надо бы ввести для каждого флажка некую структуру, которая будет содержать ответы на эти вопросы. Но тут уже внутренний голос встал на дыбы, и, как ни странно, в этот раз я его послушал.
Вот сижу теперь и думаю над романом (или длинным рассказом) о программисте, который взялся за непосильной сложности алгоритм и постепенно сходит с ума. Хуже того, что он это сам понимает, и ему становится страшно. Но поскольку он программист, то свой мозг он считает конечным автоматом, и пытается его «отлаживать». Таким образом запускается бесконечная цепь рекурсий. И периодически ему приходит в голову мысль, что надо все бросить и написать заново. Но он боится потому что давно уже потерялся и не знает на каком уровне рекурсии он находится… Такой вот юмористический (а может и не юмористический) хоррор с элементами мистики. И легким флером безнадеги из набоковской «Защиты Лужина».
Ну вот. Написал пост. Немного отвлекся. Пойду дальше код дебажить…😁

Теги:
Всего голосов 8: ↑8 и ↓0+11
Комментарии3

Осенние скидки на ИТ-курсы: неделя до дедлайна

Давно планировали подтянуть скиллы и перейти на следующий уровень? Считайте, что это знак. До конца месяца действует −10% на курсы со стартом в конце сентября — и к группам еще можно успеть присоединиться.

Для хабровчан мы подготовили специальный промокод HABR09 на дополнительную скидку 5%. Вместе с ним скидка составит 15%. Успевайте воспользоваться!

Ниже собрали программы по ключевым направлениям, выбирайте нужную:

Программирование

Архитектура

Инфраструктура

Data Science

Тестирование

Безопасность

Аналитика и анализ

Управление

А тем, кто настроен на серьезное системное обучение, крайне рекомендуем рассмотреть Подписку — выбираете курсы под свои задачи, экономите на обучении, получаете профессиональный рост. Узнать подробнее

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

2 октября встречаемся на Infra Meetup от Wildberries & Russ!

Где: Москва + онлайн-трансляция
Когда: 2 октября 19:00, сбор гостей начинается в 18:00

Зарегистрироваться!

Приглашаем на Infra Meetup от Wildberries & Russ! Расскажем про внутреннее файловое хранилище собственной разработки, поговорим о методах автоматизации репозиториев в Nexus, разберём существующие сервисы и процедуры их сопровождения, обеспечивающие бесперебойную работу. И обязательно затронем важнейшую тему культуры инженерного взаимодействия в команде.

В программе:

Файловое хранилище Wildberries: бескомпромиссный HighLoad | Иван Волков, CTO CDN

  • Как устроено одно из важнейших файловых хранилищ Wildberries

  • 1,2+ млн RPS на выдачу фото и видео — и это не предел

  • Код Оккама: органический подход к разработке и процессам

Путь автоматизации репозиториев в Nexus | Владислав Раев, DevOps & DevTools Engineer

  • Автоматизация без стандартизации, или путь в никуда

  • Что работает для 10, может сломаться на 100

  • Меньше состояния — меньше проблем

  • Явное лучше неявного

У вас завелся сервис: рекомендации лучших сервисоводов (наверное) | Александр Стовбунский, Tools Team TechLead

  • «Пап, можно мы его оставим?» — почему приносят одни, а чиним мы

  • «А выгуливать кто будет?» — что может требовать тот, у кого нет права отказаться

  • «Он большим не вырастет!» — как считать трудозатраты и сроки

  • Вредные советы: как гарантировано всё испортить

Для участия в офлайне она обязательна. После докладов — продуктивный нетворкинг и афтерпати.

Зарегистрироваться!

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

Помогает ли олимпиадное программирование в реальной разработке

Этот и ещё пять тезисов об олимпиадном опыте разобрали с бывшим олимпиадником, Антоном Чаплыгиным, и неолимпиадником, Мишей Усковым. Оба — ведущие инженеры-программисты в Контуре.

В тусовке олимпиадников существует определённая культура превосходства и часто эти ребята воспринимают неолимпиадников как менее квалифицированных программистов 

Неолимпиадник: Да. Я ощутил это, когда учился на первых двух курсах универа: перед сессией ребята-олимпиадники говорили, что даже не будут готовиться к экзамену, потому что и так всё знают. 👌 Потом они, конечно, всё заваливали, шли на пересдачу, но гонора до этого момента было много. =) Со временем такие ребята стали проще.

Олимпиадник: Подтверждаю! Например, я пришёл в универ из регионального лицея и у меня были проблемы с неалгоритмическими предметами, например, матанализом. Те, кто уже учил его, считали, что они-то всё знают, а я — нет.  

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

Олимпиадное программирование бесполезно в реальной разработке. 99% задач в индустрии не требуют сложных алгоритмов

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

Неолимпиадник: Согласен, что в продуктах алгоритмических задач мало, но они часто критичные. Ты можешь делать 900 простых задач, но без сложных вообще никуда не уедешь. В Контуре есть своя база данных, своя очередь. Мы можем сделать в сервисе много красивых финтифлюшек, но если у нас не будет быстро работать база, мы никому не будем нужны. 

Вот ты пользуешься какими-нибудь библиотеками, фреймворками, но при этом не знаешь, что происходит внутри, — это не прикольно. А олимпиадные задачи часто про структуры данных, про Computer Science, и это всё хорошо бы знать.

При этом я считаю, что где-нибудь в промышленной разработке лучший олимпиадник — далеко не всегда лучший программист. Ведь программист — это не только про «У меня есть задача, я превратил её в код», а скорее про «Я знаю, с кем поговорить, что уточнить».

Олимпиадников сложно переучить, они склонны оптимизировать несущественные вещи 

Неолимпиадник: У нас в команде были олимпиадники, и когда они брались за задачи, было видно, что им интересно их «покопать», сделать из этого красивое решение, чтобы оно идеально работало. Это всё хорошо, но не всегда такое надо, особенно когда хочется уже быстрее получить результат. =) В этот момент приходилось немного поторопить человека. А потом подсластить ему пилюлю: например, дать прикольную задачу с Computer Science.

Олимпиадник: Считаю, что скорее всё зависит от человека. Бывают люди, которых в принципе трудно переучивать, а бывают те, которым можно объяснить один раз, и они всё поймут. Хорошо, что есть курсы и книжки по чистому коду, в которых ты можешь чему-то научиться и понять, как это применять. Так же, как ты научился писать алгоритмы когда-то.

Алгоритмические задачи на собеседованиях не всегда показывают реальные навыки разработчика 

Олимпиадник: Люди во время собеса часто нервничают, из-за этого забывают какие-то элементарные вещи. Но потом, когда приводишь человека в чувство, успокаиваешь, становится понятно, что он всё знает, просто запаниковал тогда и из-за стресса наделал ошибок. 

Неолимпиадник: Согласен с этим тезисом, потому что, во-первых человек может запаниковать, во-вторых — ему может попасться задача, с которой он ещё ни разу не сталкивался. Но он точно смог бы решить в спокойной обстановке, когда под рукой поисковик или нейронка. Поэтому считаю, что «валить» кандидата алгоритмами на собеседовании — не самый лучший способ проверить уровень его знаний.

Эти и другие тезисы подробно разобрали здесь ➡️ YouTube, Rutube, VK, Яндекс Музыка.

Теги:
Всего голосов 4: ↑3 и ↓1+2
Комментарии1

+10% к производительности сервера с конфигурацией AR45-NVMe 

Нужна высокая производительность на одном узле, но серверная платформа не по бюджету и избыточна? AR45-NVMe — готовый сервер с передовым десктопным CPU, локальной сетью и быстрыми NVMe-дисками. Решение спроектировано именно для таких задач. Предложение ограничено, успейте заказать сервер по ссылке —>

Характеристики:

  • CPU: AMD RyzenTM 9 9950X, 16 ядер, до 4.3 ГГц;

  • RAM: 192 ГБ DDR5 (non-ECC);

  • Диск: 2×2000 ГБ SSD NVMe M.2;

  • Сеть и сервис: 1 Гбит/с приватная сеть, безлимитный трафик, SLA 99.8%,защита от DDoS, 24/7 поддержка, 3 часа на замену комплектующих.

Из чего состоит прирост производительности +10%

Высокая частота сокращает задержки в задачах, где важна оперативность: сборки, компиляции, отладки и CI-прогоны реагируют быстрее, потому что ядра решают мелкие задачи быстрее.

Больше RAM значит реже подкачка на диск, меньше простоев из-за swapping и стабильнее in-memory вычисления при аналитике и прототипировании ML.

Низкая задержка и высокая пропускная способность, плюс рост числа операций ввода-вывода в секунду (IOPS). Они ускоряют доступ к временным файлам, БД и scratch-пространству. Которые при хранении в сетевом сторадже тормозят работу.

Теги:
Всего голосов 9: ↑8 и ↓1+13
Комментарии2

ИИ против рутины: как изменится тестирование? Круглый стол на «Стачке»

2–3 октября в Санкт-Петербурге пройдёт XIV международная IT-конференция «Стачка», и мы рады сообщить, что Маргарита Трофимова, директор департамента тестирования и обеспечения качества ITFB Group, выступит модератором круглого стола «Применение ИИ в тестировании».

Маргарита — эксперт с более чем 17-летним опытом в области качества ИТ-систем, вице-председатель Russian Software Testing Qualification Board, спикер ведущих отраслевых конференций и идейный вдохновитель образовательного практикума «Академия тестирования».

На круглом столе вместе с представителями ДОМ.РФ, Альфа-Банка, Авито и других лидеров рынка участники обсудят, как искусственный интеллект трансформирует процессы тестирования, команды и бизнес-результаты.

Будет затронуты ключевые вопросы:
— какие задачи уже сегодня эффективнее решают ИИ-системы,
— где технологии пока остаются уязвимыми,
— как измерить эффект от внедрения ИИ в QA.

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

📍 Санкт-Петербург
📅 2–3 октября
🔗 Конференция «Стачка»

👉 Принять участие

Теги:
Всего голосов 1: ↑0 и ↓1-1
Комментарии0

Как вайб-кодить с вайбом, а не с техдолгом и багами 👨‍💻✨

Разберемся в этом на вебинаре с нашим техническим экспертом Сашей Константиновым. Будет полезно всем, кто работает с кодом и данными — вы узнаете, как с помощью AI писать код быстрее и не проседать при этом в качестве.

Поговорим о том, как:

  • Научить IDE кодить в вашем стиле, предсказуемо и по нужным стандартам.

  • Подключить языковую модель к VS Code. Рассмотрим все на примере LLM из Evolution Foundation Models.

  • Мониторить безопасность и качество кода в SonarQube.

📅 Когда? 30 сентября в 11 по мск.

📍 Где? Онлайн — вам осталось только зарегистрироваться →

Теги:
Всего голосов 2: ↑1 и ↓10
Комментарии0

SpaceX Dragon поднял орбиту МКС почти на 2 км — российский Прогресс останется без работы?

Грузовая версия корабля Dragon подняла орбиту МКС на 1,8 км. Раньше на это был способен только российский «Прогресс», и разочек почти то же самое сделал Cygnus. Илон Маск отберёт функцию по маневрированию МКС у России?

МКС — самый большой и самый тяжёлый рукотворный объект в космосе. Высота её орбиты около 420 км, но даже на этой высоте есть атмосфера, которая понемногу тормозит станцию, поэтому периодически её поднимают. Законы орбитальной механики таковы, что для этого выгодно станцию толкать не снизу, а сзади — если смотреть по ходу полёта станции. Как раз в этой части находится модуль «Звезда» с двигателями, которые уводят станцию от космического мусора и поднимают орбиту при необходимости. Топливо в модуль «Звезда» перекачивается с российских грузовых кораблей «Прогресс», а если остаётся запас, корабли сами толкают станцию и за 7–10 минут увеличивают её среднюю высоту на 1,5–2 километра.

Теперь понятно, что NASA несколько приукрасило возможности SpaceX. Места стыковки Dragon — в передней части станции. Вряд ли её разворачивали целиком ради маневра, скорее «повернули» на 90 градусов. Чтобы сохранять устойчивость 100-метровой конструкции в нерасчётном положении, надо было «подруливать» — делать это способны были только двигатели «Звезды» на другом конце станции. Так что без российского сегмента пока не обойтись.

Двигатели SpaceX отработали всего 5 минут, чего явно не хватило бы для поднятия средней высоты МКС на 1,8 км. Так что это было сделано только по одной из осей эллиптической орбиты. Если проще, высота подъёма была раза в 1,5 меньше, чем у «Прогресса».

Наконец, для подъёма использовались не собственные двигатели Dragon, а две дополнительные установки в негерметичном отсеке корабля. Из-за них корабль привёз на МКС в 1,5 раза меньше грузов, чем обычно.

Кажется, что смысла в коррекции орбиты SpaceX Dragon немного. Посмотрим на два шага вперёд. К 2031 году планируется свести МКС с орбиты, что обойдётся NASA примерно в 1 млрд долл. Чтобы не отдавать эту работу российским «Прогрессам», американское аэрокосмическое агентство пообещало её SpaceX, и последняя разрабатывает мощную версию Super Drago, чтобы тремя кораблями затормозить МКС и «уронить» в океан. Чтобы создать такую модификацию, SpaceX и пригодятся данные текущего эксперимента с увеличением высоты МКС. Благо, что со стыковкой в передней части станции SpaceX даже удобнее будет тормозить станцию, чем сейчас — разгонять.

Теги:
Всего голосов 18: ↑18 и ↓0+30
Комментарии0

Ну что, показать вам образцы веб-дизайна из 2013?) Хабр не дал прикрепить несколько картинок к посту, поэтому это будет серия.

1/5 — Портал о стройке

Теги:
Всего голосов 1: ↑0 и ↓1-1
Комментарии6
А картинку я взял отсюда
А картинку я взял отсюда

Wildberries всё

WB прикрыл лавочку с «публичными» данными. Больше никаких остатков, цен и рекламных ставок для сторонних аналитик. Всё, что парсилось годами и кормило десятки тысяч селлеров лайфхаками — превратилось в труху.

Что это значит:
- Аналитические сервисы — парализованы
- Те, кто строил бизнес на чужих данных, теперь либо переписывают продукт, либо закрывают офис
- Селлеры — остаются один на один с личным кабинетом и API по токену
- Хотите прогнозов и репрайсинга? Учитесь работать со своими данными, а не подглядывать у соседа.
- Рынок — ждёт большая чистка
- Выживут только те инструменты, что помогают реально автоматизировать процессы на основе внутренних цифр, а не «угадай цену конкурента»

Wildberries чётко дал понять: «мы зарабатываем на нормальных поставщиках, а не на охотниках за хитростями»

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

Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

Почему связано beer и бу́хнуть. Гласные

  1. Английское «ee» в ряде случаев соответствует древнеанглийскому «eo», например:

deep deop глубокий

steer steor бычок

creep creopan ползти (сравни sing singan петь, stand standan стоять)

bee beo пчела

free freo свободный

deer deor олень / животное

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

2. Древнеанглийское «eo» в ряде случаев соответствует готскому «iu», например:

leogan liugan врать

deop diups глубокий (сравни full fulls полный, blind blinds слепой)

steor stiur бычок

dreosan driusan падать

3. В готском языке существует чередование «i» / «a» "Аблаут", например:

ligan лежать lagjan класть

drigkan пить dragkjan поить

siggwan петь saggws песня

sitan сидеть satjan сажать

kiusan искушать kausjan искусить

4.1. Готское «a» соответствует старославянскому (древнерусскому) «о» "Германский сдвиг гласных", например:

skats скотъ

marei  морѥ

katils котьлъ

4. 2. Готское «au» соответствует старославянскому (древнерусскому) «ѹ» "Монофтонгизация дифтонгов", например:

kaupon кѹпити

skauts скѹтъ

5. Древнерусскому «ѹ» могло отображаться и как «», однако русское начертание «у» было объявлено основным в рамках гражданского шрифта Петра I .

Источник: Per Persson, Beiträge zur indogermanischen Wortforschung, - Uppsala: A.-b. Almqvist & Wiksells Boktryckeri-A.-B., 1912. — Т. 1.

Теги:
Всего голосов 4: ↑1 и ↓3-1
Комментарии0

Эксперты сообщили, что текущая ситуация на рынке ИИ-технологий напоминает финансовую пирамиду. Например, OpenAI платит миллиарды долларов Oracle, которая платит Nvidia, которая инвестирует в OpenAI. В итоге OpenAI покупает мощности Oracle. Акции Oracle дорожают, и компания закупает чипы у Nvidia. Акции Nvidia дорожают, и компания инвестирует в OpenAI.

«Жизненный цикл» с зависимостями. Например, Nvidia поставляет Oracle чипы, а та предоставляет кредиты на облачные услуги. OpenAI нужны мощности, а Nvidia — чтобы покупались её чипы.

Теги:
Всего голосов 1: ↑1 и ↓0+2
Комментарии1

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

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

Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии2

Возможно это провал.

Всем привет, это Игорь Шпехт. Формально я «руководитель проекта Nebo», но звучит это странно — нас всего пятеро, и у каждого своя основная работа. По факту мне приходится одновременно и на саппорт отвечать, и дизайн делать, и прототипы собирать, и параллельно вести переговоры с фабриками в Китае.

Датчик NeboAir больше не производится (много накопленных проблем), и сейчас разрабатывается «новый датчик». Честно: дела с разработкой идут не так хорошо и я явно недооценил объём. Тут не только железо, но и новое ПО, приложения на двух платформах, база данных и куча всего вокруг. А выпустить устройство, которое будет ломаться и отваливаться, я точно не хочу.

Поэтому так: раз в неделю буду делиться короткими апдейтами. Даже если новостей будет мало — всё равно расскажу. Возможно это мало кому интересно, но так я буду держать себя и команду к рабочем настроении.

Возможно, это провал. Или нет. До встречи через неделю ✌️

Теги:
Всего голосов 7: ↑6 и ↓1+7
Комментарии0

Почему связано beer и бу́хнуть. Согласные

Источник: раз и два

Сразу оговорюсь, что это одна из версий.

Сравните:

ear ухо

sear сухой

their тех

deer дух (с учётом лат. animal животное лат. anima дух)

находите схожесть?

По привычке кратко и шероховато:

  1. В ряде случаев где в английском мы имеет r в готском языке мы, например, находим s, причиной тому "Ротацизм"

  2. Зачастую где в русском языке мы имеем х в литовском мы, в частности, примечаем s, причиной тому "Закон Педерсена"

Теги:
Всего голосов 6: ↑0 и ↓6-6
Комментарии2

Немного лекций с нашего митапа питонистов в Новосибирске - PythoNSK (https://t.me/python_in_nsk приходите, в ноябре планируем вторую встречу организовать).

У нас на митапе было несколько лекций, вот они:

Python Desktop Development (Роман Черкасов) - Программирование на QT + PySide: https://youtu.be/Xmh74WNheRM?si=mR9ecx3KzTxA4tWF
Как работает greenlet в async-реализации SQLAlchemy (Любимов Алексей) - https://youtu.be/zPXf9NJc5qA?si=VyosK69QPdtDivAY
Лекция от Никита Соболева ("Как коммитить в питон, если вы очень хотели, но не знали как?") - https://t.me/opensource_findings_chat/115827

Я хочу также отдельно поблагодарить:

  1. ТГ snppg - инициатор всего нашего действия, он изначально создал эту группу, а я просто подхватил и организовал людей

  2. ТГ duntssov - за интересную и хорошую лекцию, помощь

  3. ТГ THEDAN320 - за помощь в организации

  4. ТГ masian4eg

  5. ТГ RnChe - за проведение лекции

  6. ТГ sobolev_nikita - за проведение онлайн лекции

  7. И конечно же вам все за то что пришли. Вместе мы - сила, и кто знает, может митапы перельются во что то большее

Теги:
Всего голосов 4: ↑4 и ↓0+4
Комментарии1

Почему связаны русские т, п, к и английские th, f, h

Означенные согласные связаны по Закону Гримма.

Если кратко и шероховато, то индоевропейские гласные t, p и k, как предполагается:

  1. сначала подверглись спонтанному придыханию, то есть стали th, ph и kh, а затем:

    2.1. ph стало f (похожее изменение произошло и с древнегреческим / греческим), сравни (английский отражает древнегреческое произношение, а русский греческое):

    англ. рус.

    telephone телефон

    photography фотография

    phosphorus фосфор

    2.2. kh стало h, сравни:

    chronology хронология

    chord хорда

    bronchi бронхи

Итого (по этой причине имеем, например):
англ. рус.
p ~ ph ~ f
полк folk
k ~ kh ~ h
канюк hen

Теги:
Всего голосов 5: ↑2 и ↓3+1
Комментарии1

«Найди то, не знаю что» среди миллиарда сущностей 😱

Примерно так звучат задачи специалистов, которые работают с LLM. В новом выпуске нашего подкаста «Кофе-брейк» развеиваем миф о том, что ИИ отберёт у всех нас работу (спойлер: не у всех), и обсуждаем, как вообще устроен поиск по ключевым словам. А помогает нам в этом Денис Шавейников — руководитель команды поиска VK.

Хватайте капучино и включайте выпуск ☕️

Теги:
Всего голосов 14: ↑13 и ↓1+16
Комментарии0

Вы еще перетаскиваете окна за заголовок?

Хочу поделиться небольшим скриптом, который мне хорошо экономит нервы при работе с современными оконными объектами Windows. Я "старый дроид" и поэтому предпочитаю, чтобы моя операционная система при переходе от версии к версии не меняла свой графический интерфейс. Не зря говорят: "раньше трава была зеленее". Вот так и у меня: при установке очередной версии Windows (начиная с 7) я каждый раз ставлю Classic Shell с пуском в стиле W95/98/XP. Почему я так люблю эти графические стили? Да потому что они были идеально рассчитаны на работу с мышью и годами приучали нас.

Одним из моментов, который не дает мне покоя в современной Windows, является постоянные эксперименты с заголовками окон в плане стилей: их то ужимают, то растягивают, то сливают по цвету с фоном. Например, если в браузере открыто много вкладок и он не в полноэкранном режиме, то сложно перетащить его мышкой за верхний край, потому что этого края нет—всё пространство занято вкладками. В Windows 98 и XP такой ерунды не было: при любом раскладе всегда был заголовок окна с приятным градиентом, за который ты мог перетаскивать окно. А сейчас посадили модных дизайнеров, и они испортили UI/UX.

Иногда какие-то умные программисты создают шикарные вещи—позволяют окно своего приложения таскать за любую его часть. Это очень удобно, и я захотел, чтобы у меня так работали все мои программы. Я перебрал несколько вариантов, на чём написать, и остановился на старом добром AutoIt. Идеальный язык автоматизации Windows с возможностью компилировать в относительно небольшой exe-файл. Из коробки идёт сворачивание приложения в трей.

Но просто так позволить окну перетаскиваться при зажатой левой кнопке‑это опрометчиво, ведь тогда перестанут работать скроллы, перетаскивание файлов и прочая drag‑and‑drop возня. Соответственно, нужно сделать горячую клавишу, при зажатии которой можно перетаскивать окна мышкой. На роль этой клавиши идеально подходит Alt. Побочным эффектом скрипта является то, что можно таскать абсолютно любое окно (потому что в Windows окнами сделано очень многое). Например, кнопка «Пуск»‑это окно, и её можно утащить куда угодно; она будет там висеть, пока не нажмете на клавишу Win, которая восстанавливает её координаты. Также можно двигать само меню «Пуск».

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

В итоге скрипт получился таким:

#include <WindowsConstants.au3>
#include <MsgBoxConstants.au3>
#include <Misc.au3>

Global $hWnd = 0
Global $isDragging = False
While True

; Проверяем, зажата ли левая кнопка мыши
If _IsPressed('01') and _IsPressed('12') Then

  ; Получаем текущее положение мыши
  Local $mousePos = MouseGetPos()
  
  If _IsMouseOnWindow($mousePos[0], $mousePos[1]) Then
  
    ; Если окно не выбрано, выбираем его
    If $hWnd = 0 Then
      $hWnd = WinGetHandle("")
    
      ; Запоминаем начальную позицию курсора
      $startX = $mousePos[0]
      $startY = $mousePos[1]
      $winPos = WinGetPos($hWnd)
      $offsetX = $startX - $winPos[0]
      $offsetY = $startY - $winPos[1]
    
    EndIf
  
    $isDragging = True
  
  EndIf

Else

  ; Отпускаем окно при отпускании левой кнопки
  If $isDragging Then
  
    $hWnd = 0
    
    $isDragging = False
  
  EndIf

EndIf

; Если мы в режиме перетаскивания
If $isDragging Then
  
  ; Получаем текущее положение мыши
  $mousePos = MouseGetPos()
  
  ; Перемещаем окно
  WinMove($hWnd, "", $mousePos[0] - $offsetX, $mousePos[1] - $offsetY)

EndIf

Sleep(5)
WEnd

Func _IsMouseOnWindow($x, $y)
  ; Создаем область определения для поиска окна под мышью
  Local $hWndUnderMouse = WinGetHandle("")
  Return ($hWndUnderMouse <> "")
EndFunc

Теперь при зажатом Alt я, не задумываясь где мой курсор, спокойно перетаскиваю или просто сдвигаю активное окно куда мне нужно.

Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии2