Pull to refresh
18
0
Журат Максим @ChessMax

User

Send message

Кого из двоих сделать тимлидом

Level of difficultyEasy
Reading time9 min
Views8K


Очень конкретная задача: мне нужно найти руководителя на важное направление.

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

Было сложно сравнить их между собой. Один был хорош в чём-то одном, другой — в чём-то другом.

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

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

Далеко не факт, что мой подход правильный или точный, но я бы хотел рассказать, что я понял в таких ситуациях.
Читать дальше →

Нелояльный, немотивированный

Level of difficultyEasy
Reading time8 min
Views13K

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

Потому что мой опыт говорит об обратном.

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

Читать далее

LLaMA (Large Language Model Meta AI)

Level of difficultyMedium
Reading time1 min
Views91K

Meta анонсировала LLaMA (Large Language Model Meta AI), свою модель NLP с миллиардами параметров и обученную на 20 языках.

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

Для этого пришлось ужать модель из 32 битной в 4 битную, уменьшив вес модели с 13 до 4 ГБ.

Попробуем запустить самую маленькую модель LLaMA 7B у себя на домашнем компьютере на середнячке AMD Ryzen 5.

Читать далее

Получаем бесплатные бесконечные сессии TeamViewer

Level of difficultyMedium
Reading time5 min
Views19K

Многие знают о существовании такого ПО, как TeamViewer, но не все в курсе о нестандартных сценариях его использования. Знали ли вы, что можете легально использовать сессии, неограниченные во времени? Это осуществимо благодаря возможности TeamViewer подключаться не только с использованием уникального ID, но и по IP-адресу.

Рассуждения, что лучше использовать что-то другое, а не TeamViewer, оставим за бортом, здесь просто рассматриваются возможности TeamViewer. Насколько имеет смысл практического применения изложенных методов, каждый пусть решит сам.
Читать дальше →

C++, ping и traceroute

Level of difficultyEasy
Reading time4 min
Views13K

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

Первое, что мне пришло в голову - утилита ping.

Читать далее

Где решать задачи по программированию, чтобы пройти путь from zero to hero

Level of difficultyEasy
Reading time4 min
Views142K

Если вам о чём-то говорят фамилии Зив, Хомченко и Рымкевич, иди сюда, дай обниму, бедолага-олимпиадник, то вы наверняка знаете, как важно прорешивать задачи для полноценного, осознанного и глубокого понимания изученного материала. Когда нет или совсем мало реальной практики, задачи дают возможность покрыть практикой все теоретические знания, погрузиться в неожиданные выводы, сложности, баги, препятствия. Более того, даже если практики достаточно, задачи помогают относительно быстро, комплексно и глубоко проработать типичные и нетипичные ситуации, возникающие в разработке (любой другой науке). Это всегда безопасный (никто не взрывает лабораторию и не роняет прод), доступный и удобный способ подробно разобраться в предмете. Определённо, программирования это касается в первую очередь.

Читать далее

Разбираем float на части

Reading time3 min
Views8.6K

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

Читать далее

Текстовые строки в языках программирования

Level of difficultyMedium
Reading time6 min
Views8.7K

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

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

Есть старая статья о проблемах поддержки Unicode в разных языках программирования: The importance of language-level abstract Unicode strings Matt Giuca

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

Читать далее

Решение задачи о 8 ферзях на трёх уровнях Scala — программа, типы, метапрограмма

Level of difficultyMedium
Reading time10 min
Views2.3K

В заметке Ричарда Тауэрса (Richard Towers) Typescripting the technical interview (есть перевод на Хабре: Руны и лёд: техническое собеседование по TypeScript) по ходу повествования была решена классическая задача расстановки 8 ферзей на шахматной доске. Для решения использовалась система типов TypeScript. Мне захотелось посмотреть, как эта задача будет выглядеть на Scala. Т.к. Scala 3 помимо развитой системы типов предлагает превосходную поддержку метапрограммирования, то здесь мы рассмотрим не только решение на типах, но и мета-программное решение.

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

Reddit для программистов

Level of difficultyEasy
Reading time14 min
Views14K

Эта статья посвящена одной популярной и активной площадке на просторах Интернета — Reddit. Кто не в курсе, Reddit — это платформа, где сосуществуют тысячи сообществ по интересам. Мы любим Reddit за честность, открытость и любознательность её пользователей. Если вы программист, особенно начинающий, и ещё не слышали про Reddit — эта статья обязательна для прочтения. А если сисадмин? Для вас тоже найдётся сабреддит! В этой статье мы собрали сабреддиты для всех-всех, каким-либо образом связанных с IT-индустрией. Даже для наших любимых HR! Что же такое Reddit?

Читать далее

Реверс инжиниринг для самых маленьких на практике

Reading time11 min
Views56K

Скомпилированное приложение является «чёрным ящиком». Чтобы туда заглянуть, восстановить алгоритм работы применяется реверс‑инжиниринг. Это непростой навык с высоким порогом входа. В статье мы попробуем взять дизассемблер, несложную задачку и пойдём в бой. Материал будет полезен тем, кому хочется с чего-то начать и погрузиться в тему реверса.

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

Читать далее

Сегодня я для себя открыл: язык программирования gleam

Reading time5 min
Views10K

gleam - это новый язык со статической типизацией для платформы BEAM (Erlang). Уверен, что Вас он тоже заинтересует - в том случае, если Вы эрлангист, эрланговед или что-то в этом роде. Язык очень любопытный: например, в нём есть зарезервированное слово todo - для мотивации программистов. И, наоборот - отсутствует ключевое слово if.

В целом, gleam - пример того, как эрланг можно переделать для использования с типами. Мы с вами знаем, что есть функциональные языки, такие как Haskell и OCaml, которые работают с типами хорошо. Однако, языки ML-семейства выглядят совсем по-другому. gleam же имеет C-подобный синтаксис.

В этой статье я постарался описать основные черты языка gleam. Также, в конце читателя ждёт увлекательный мастер-класс о том, как (не) нужно превращать обычный императивный язык в функциональный. На примере Python.

И да, поросёнок - не совсем официальный mascot языка gleam. Но я позволил себе немного пофантазировать - надеюсь, попал в цветовую гамму плюс-минус :)

Читать

Алгебра int о которой не говорят

Level of difficultyMedium
Reading time10 min
Views24K

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

Толчком Мотивацией к написанию статьи послужил кейс, продемонстрировавший свойство целого типа, которое легко упустить из виду, но на практике приводящее к неожиданному поведению. Это ни разу не новое открытие в computer science, и под капотом все довольно просто, но сохраним интригу. Подойдем к этому свойству через реальную задачу, затем посмотрим на целочисленную арифметику с точки зрения теории групп и разложим все по полочкам. Если вы используете язык программирования с ограниченными целыми числами, то статья может оказаться полезной.

Читать далее

Худшие курсы по программированию 2023 | Голосование

Level of difficultyEasy
Reading time4 min
Views38K

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

Читать далее

Стохастический язык программирования на основе алгоритмов Маркова

Reading time13 min
Views28K

MarkovJunior — это вероятностный язык программирования, в котором программы являются сочетаниями правил перезаписи, а инференс выполняется при помощи распространения ограничений. MarkovJunior назван в честь математика Андрея Андреевича Маркова, придумавшего и исследовавшего то, что сейчас называется алгоритмами Маркова.
Читать дальше →

Dictionary<int, T>: очень специальный

Level of difficultyMedium
Reading time5 min
Views5.1K

Как-то раз была поставлена задача ускорить работу с Dictionary<int,?>, где ключом всегда выступал int, а значением - структура. Имеющаяся скорость не устраивала. Более того, очень бы хотелось иметь возможность получать ссылку (ref) на значение в Dictionary, чтобы можно было изменять содержимое извне. В настоящий момент полнофункциональный словарь из dotnet такого поведения не поддерживает.

В статье, как и в предыдущей, речь пойдёт о наносекундах и экономии байтиков. Уверен, что 99% программистов этого не нужно, а подобные эксперименты без изучения environment'a будут даже опасны. Однако, если ваш профиль high-load или геймдев, данная информация может быть востребована.

Читать далее

Учим нейросеть принимать решения на основе уже известного опыта (на примере Шахмат и загруженного датасета)

Reading time15 min
Views9.8K

Учим нейросеть играть в Шахматы, загрузив в нее датасеты уже сыгранных партий с известным результатом.

То есть никакого минимакса, деревьев и расчетов на несколько ходов вперед.
Идея в том, что если в нейросеть загрузить много партий, уже сыгранныx другими игроками, то нейросеть будет знать, как поступали другие игроки в соответствующих случаях и к какому результату это приводило. Нейросеть обобщит имеющийся опыт и будет делать ход на основе уже известного опыта и выявленных закономерностей, причем делать ход «мгновенно».

Читать далее

Сказка про Method as Parameter

Reading time9 min
Views10K

Наверняка вы вызывали методы в C#. И казалось бы, что тут может быть интересного. Но тут есть о чем поговорить, есть что интересного рассказать.

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

Читать далее

Jira и Trello уходят из России – чем их заменить?

Reading time8 min
Views40K

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

Еще год назад большинство компаний остановило бы свой выбор на продуктах компании Atlassian. Но ситуация изменилась — теперь возможности их использования в России сильно ограничены. И это повод еще раз посмотреть на альтернативы.

Спойлер: описать все невозможно, поэтому отметим только некоторые, со своей изюминкой.

Читать далее

Пишем игру от первого лица в 2КБ на Rust

Level of difficultyMedium
Reading time21 min
Views15K

Введение


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

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

Для начала разберёмся, как работает алгоритм, а затем построчно напишем его. Затем мы пересмотрим код, добавим несколько возможностей и оптимизируем его размер. Я постарался сделать пост максимально доступным и дружелюбным, но вам поможет приличное знание программирования, Rust и основ геометрии.
Читать дальше →

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity

Specialization

Mobile Application Developer
Senior
Flutter
Flutter Bloc
MobX
Mobile
Development of mobile applications