Обновить

Автоматизируем HR-процессы в компании через систему управления проектами

Чем больше и сложнее бизнес, тем больше нюансов и хитрых настроек нужно реализовать в корпоративной СУП. Мы - компания-интегратор Powertask, и основа нашего бизнеса - не просто продать и установить заказчику коробочную систему, но настроить ее так, чтобы с ее помощью бизнес-процессы в компании работали еще лучше, чем раньше. И чтобы сотрудников не пришлось заново переучивать на новые процессы, теряя производительность.

Хочется поделиться опытом недавнего внедрения для телекоммуникационной компании, в которой мы кастомизировали систему управления проектами на базе отечественной экосистемы EVA. Вообще, EVA хороша тем, что помимо огромного числа предустановленных настроек многое в ней можно дополнительно сделать, написав прямо в системе автоматизацию на bzPython. Это коллекция обвязок над стандартными библиотеками для обеспечения типовых действий и упрощения кодирования бизнес-логики. Полностью поддерживает использование языка python3 в чистом виде.

Систему у заказчика мы реализовали так, чтобы для каждого структурного подразделения компании был настроен отдельный проект, в котором можно вести задачи, хранить базу знаний, формировать спринты, канбан-доски и прочее. Это удобно - у каждой команды есть свое отдельное пространство, куда чужие не ходят (доступ настроен через группы в Active Directory) и которое можно настроить так, как привыкли в этой команде. Но взаимодействие между отделами никто не отменял, и первыми про это вспомнили сотрудники кадровой службы. Ведь в каждой крупной организации выход на работу нового человека обычно запускает много процессов: его нужно оформить, выдать ноутбук, наушники и мышь, организовать рабочее место, создать учетку для корпоративных систем (и ладно еще, если одну единую), выдать пропуск, занести в зарплатную ведомость и много чего еще. Увольнение сотрудника отматывает те же процессы, но в обратном направлении - вычеркнуть из зарплатной ведомости, отобрать ноутбук и т.п.

Читать далее

UV текстурирование куба

Уровень сложностиСредний

В статье будет показано как можно наложить простую текстуру на куб (box).

В программировании графики часто используется uv текстурирование. Когда текстура накладывается по координатам на вершины модели. Это работает с разомкнутыми моделями. Но при наложении на замкнутые вроде куба (или цилиндра) возникает проблема. Одна и та же вершина используется для разных плоскостей. И не всегда возможно наложить текстуру как хотелось бы. Можно конечно добавить вершин, и сделать их независимыми, но это лишний расход памяти, и другие проблемы.

Сразу покажу конечный результат. Текстура наложена на куб (box), и со всех сторон выглядит корректно. Но это сработает только для простой текстуры, которая допускает отражение по диагонали (вроде бетона, кирпича). Либо если достаточно только 4 сторон (кроме верха и низа например). Здесь графическая API (в моём случае OpenGl) получает всего 8 вершин с uv координатами каждая. Безо каких-либо хитростей вроде геометрических шейдеров (которые требуют дополнительных операций) и т.д. Т.е. это будет эффективно.

Читать далее

Генетический алгоритм против Mamba: новая формула скрытых состояний для нейросетей

Генетический алгоритм против Mamba: новая формула скрытых состояний для нейросетей

Современные State Space Models (SSM), такие как Mamba, отлично справляются с длительной памятью, но сталкиваются с ограничениями в адаптивности и сложности. В этом проекте применён генетический алгоритм для эволюционного поиска новых формул скрытых состояний, которые превосходят классические подходы на 24%. Итог – модель ESSS (Enhanced Selective State Space) с адаптивной многокомпонентной архитектурой.

Читать далее

Как дизайн-спринт помог приюту найти больше друзей — и стал началом долгосрочного партнёрства

Весной мы провели спринт совместно с благотворительным проектом «Вместе с другом» — инициативой, помогающей собакам из московского приюта «Дубовая роща» обрести дом.

Читать далее

Что Брокман не договаривает об AGI: архитектурные пределы и слепые зоны OpenAI

Уровень сложностиСложный

С НЛО нельзя договориться — но можно послать сигнал.
Эта статья — именно сигнал. Не против кого-то, а для тех, кто способен видеть систему, а не только её части.
Недавнее интервью Грега Брокмана (OpenAI) — идеальный повод: за громкими заявлениями о «скором AGI» виден старый, одноконтурный подход, который уже упёрся в архитектурный потолок.

Аннотация:
Разбираем ключевые тезисы интервью Грега Брокмана.
Покажем три системных слепых пятна, которые ограничивают современную траекторию OpenAI, и предложим архитектурное решение, без которого «общий интеллект» останется красивой, но недостижимой метафорой.

Читать далее

Гипотеза Гольдбаха

Уровень сложностиСредний

В данной работе осуществлен плавный переход, от поиска пар простых чисел, дающих в сумме (N), к поиску пар составных чисел вида 6к-1 или 6к +1, так же дающих в сумме N. И в дальнейшем обратных переход, через формулу связывающие два этих представления.
Поиск минимального количества пар составных чисел, осуществляется путем нахождения количества пар чисел, дающих в сумме (N). в которых одно слагаемое кратно 5 а другое любому простому числу, не превосходящее корня из N , далее все возможные количества, полученные всеми возможными комбинациями , суммируются, а повторы пар исключаются.

Читать далее

NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver…

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

Недавно у меня появилась идея превратить старенький, но всё ещё бодрый компьютер на базе AMD-процессора, GeForce GTX 1660 Ti и материнской платы ASRock в домашний сервер для запуска Whisper от OpenAI — чтобы автоматически транскрибировать аудиозаписи, используя GPU-ускорение.

Для этого я установил Ubuntu Server, настроил окружение, поставил официальные драйверы NVIDIA и необходимые компоненты, включая CUDA Toolkit. Всё шло гладко… до момента проверки.

Читать далее

Создание и публикация Android-библиотек: от mavenLocal до GitHub Packages

Уровень сложностиПростой

Как создать и опубликовать Android-библиотеку в Maven-репозиториях

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

Читать далее

Как заставить китайскую механическую клавиатуру работать в Linux

Уровень сложностиПростой

Как заставить китайскую механическую клавиатуру (Zifriend, SAMA, Gamestop, Cyberlinx) работать в Linux, хотя производитель этого не обещал.

История о том, как я «подружил» свою Cyberlinx ZA63 с Linux Ubuntu, когда официально поддержки нет. Для всех, кто думал, что клавиатуры «просто работают» везде или столкнулся с такой же проблемой.

Читать далее

Создание AI-копирайтера на PHP: от идеи до 200+ текстов в день

Уровень сложностиСредний

Технические решения, проблемы интеграции OpenAI API и оптимизация работы с GPT-моделями

В этой статье разберу техническую реализацию веб-сервиса для генерации текстов с использованием OpenAI API. Покажу, с какими проблемами столкнулся при интеграции, как решал вопросы производительности и как построил систему умного выбора AI-моделей.

Читать далее

Специальная теория относительности — снова о втором постулате

Наконец добрался до основ — Альберт Эйнштейн «К электродинамике движущихся тел» («Zur Elektrodynamik bewegter Körper») — в надежде понять как это все получилось. Свой взгляд на постулаты специальной теории относительности уже был мною изложен ранее — «Альтернативный взгляд на постулаты специальной теории относительности». Теперь перейдем к первоисточнику.

Читая первоисточник

Первое, что показалось странным в восприятии — введенное Эйнштейном понятие одновременности событий с последующим его применением. С одной стороны Эйнштейн постулирует распространение света в пустоте «всегда с определенной скоростью V, не зависящей от состояния движения излучающего тела» на основании принципа инвариантности света. В то же время он вводит понятие «неподвижной» системы отсчета. Другими словами, «неподвижная» система отсчета — та, где свет распространяется со своей постоянной скоростью V. То есть, мы можем уверенно считать, что свет всегда распространяется в свой собственной системе отсчета, которая является «неподвижной» для всех наблюдаемых нами событий.

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

Затем он переходит к рассмотрению случая, когда пара часов — подвижная система отсчета — движется со своей скоростью v. В этом случае разница показаний часов в прямом (в направлении движения) и в обратном направлении перестает совпадать и определяется векторной разницей скоростей света и подвижного тела как:

Читать далее

Flutter для корпораций: как кроссплатформенная разработка экономит бюджеты и ускоряет вывод продуктов

Уровень сложностиПростой

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

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

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

Если вы всё ещё сомневаетесь, подойдёт ли Flutter вашему проекту — эта статья поможет разобраться без фанатизма, но с реальными примерами.

Читать далее

Как добавить новый функционал в вашу любимую идеешку

Уровень сложностиПростой

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

Хочу поведать о том, как я добавил новый функционал в Android Studio (спойлер, все то же самое работает в IntelliJ IDEA, PyCharm, CLion и т.д.), и это ускорило мою жизнь в разы, а глаз почти что перестал дергаться.

Читать далее

Звук на 2-х и более устройств в Ubuntu одновременно

Всем доброго времени суток, не так давно появилась необходимость вывести звук на несколько наушников подключенных по bluetooth к ноутбуку, система Ubuntu 22.04, ядро 6.8.0. Пересмотрел много информации, но почти все не то, куча ошибок, зависаний и тд. Решил обобщить все что было прочитано и попробовано и что в итоге вышло.

Начнем с того, что нужно посмотреть какие модули установлены в системе для PulseAudio:

Читать далее

SwiftUI-Adapter: поддерживаем новые модификаторы SwiftUI на старых версиях iOS

Уровень сложностиПростой

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


Недавно я наткнулся на удобную Android-библиотеку, которая упрощает работу с разными версиями API и подумал: «Почему бы не сделать что-то подобное для SwiftUI?». После этого родилась идея разработать инструмент, который избавит вас от бесконечных проверок available и сделает код чище.

Ссылка на библиотеку в GitHub

Установка библиотеки выполняется через Swift Package Manager.

Читать далее

Написал AI-расширение для браузера с автогенерацией сопроводительных писем на HH.ru

Уровень сложностиПростой

Привет мои чьюваки, по классике решил вкатиться в IT после 30 и найти свою первую работу мечты. И вот с чем я столкнулся по пути к своей мечте.

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

Главная боль

Не умею писать сопроводительные письма. Надо как-то себя презентовать, показать заинтересованность. Если отправлять всем один шаблон — компании это даже читать не будут.( хотя есть подозрение что они вообще не читают ни чего)

Что делать?

Ожидание: Сделать полный автоотклик на все 1500+ вакансий с уникальными письмами для каждой.

Реальность: В публичном API HeadHunter нет функции автоотклика. В приватном API тоже не нашел такой возможности (плюс нужна регистрация приложения).

Решение!: Если нельзя автоматизировать отклики — автоматизирую хотя бы генерацию писем!

Читать далее

Как я выкатился из IT

Уровень сложностиСредний

Сразу скажу, что это было не простое решение, но точно позволило мне заниматься тем, чем я хочу и жить свободным человеком. В IT опыт 18 лет, full stack. Работал в разного уровня компаниях, в т.ч. забугорных. Всё это время я наблюдал определенную закономерность:

Читать далее