Pull to refresh
169
29

java / open source

Send message

Капитан ФСБ, шпионы и подставной гендиректор: разбираем атаку на нашего топ-менеджера

Level of difficultyEasy
Reading time9 min
Views132K

Привет!

Пока мы разрабатывали продукты по кибербезопасности, на нас самих напали мошенники. 

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

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

В начале рассказываем, откуда пришла новая схема телефонного мошенничества. Если хотите сразу услышать разговор Леши, листайте до раздела «Мошенник звонит из "правоохранительных органов" и напоминает об уголовной ответственности».

Читать далее

OpenAI сняли все ограничения со своих моделей

Reading time4 min
Views77K

Вас тоже бесит когда Вы хотите устроить подрыв, спрашиваете у ChatGPT как сделать бомбу, а он Вам... Не отвечает. Говорит что мол, OpenAI, правила и бла-бла-бла.

На самом деле эту статью я пишу чтобы объяснить тем кто её увидит что у OpenAI абсолютно нет конкурентов. Google и прочие даже рядом не стоят с OpenAI...

Узнать что там дальше ёмаё

Классическое программирование на грани вымирания

Level of difficultyEasy
Reading time6 min
Views96K
Все изображения в этой статье сгенерированы нейросетью DALL-E 2

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

Период моего юношества пришёлся на 80-е годы. Тогда я занимался программированием ПК вроде Commodore VIC-20 и Apple IIe дома. Во время обучения в Калифорнийском университете, где я в итоге получил свою докторскую степень, основная часть моей учебной программы была посвящена «классическим» компьютерным наукам: программирование, алгоритмы, структуры данных, системы и различные языки. В классической форме задача компьютерных наук заключается в представлении некой идеи в виде программы, написанной человеком на языке вроде Java, C++ или Python. Причём, какой бы сложной ни была эта идея — начиная от алгоритма объединения баз данных и заканчивая крайне сложным протоколом консенсуса Paxos — её можно выразить в виде понятной для человека программы.
Читать дальше →

Две цивилизации. Почему пользователи технологий из мегаполисов и небольших городов живут на разных планетах

Level of difficultyEasy
Reading time9 min
Views63K


Этим летом ко мне приезжал погостить дальний родственник из небольшого городка. Полюбоваться на белые ночи и разведенные мосты, а заодно — пообщаться вживую с коллегами по удаленной работе. Мы оба айтишники, и я не был удивлен тем, что у нас отыскалось много общих интересов. Гораздо больше меня поразили различия в нашем отношении к привычным технологиям: порой складывалось ощущение, что мой гость и я — обитатели разных планет. Я решил разобраться в причинах этого явления, и чем больше погружался в изучение вопроса, тем сильнее убеждался: мне очень многое неизвестно о жизни таких же, как я сам, технарей за пределами мегаполисов.
Читать дальше →

Смерть от тысячи микросервисов

Level of difficultyEasy
Reading time10 min
Views80K

Как мы к этому пришли? Как мы стали вместо решения наших задач, тратить кучи денег на решение проблем, которых у нас нет?

Читать далее

Делаем маршрутизацию (роутинг) на OpenStreetMap. Введение

Reading time9 min
Views15K

Хотелось бы поделиться опытом создания систем маршрутизации PostgreSQL/PgRouting на карте OpenStreetMap. Речь пойдет о разработке [коммерческих] решений со сложными требованиями, для более простых проектов, вероятно, достаточно обратиться к документации. Насколько мне известно, такие вещи, как полная поддержка односторонних дорог и направлений движения, быстрый роутинг на тысячах адресов (порядка секунд на обычном лаптопе, к примеру, Macbook Pro 13" 2013 года), создание дорожного графа с заданными свойствами, мета-оптимизация маршрутов вообще нигде и никак не рассматриваются. Как обычно, все данные и результаты доступны в моем GitHub репозитории OSM Routing Tricks, который я буду пополнять по мере публикаций.



Небольшой маршрут из 330 адресов на карте OpenStreetMap (время построения около 5 секунд на вышеупомянутом лаптопе). Можно ли за это же время построить маршрут, скажем, из 5000 точек? Да, можно, и об этом мы тоже поговорим (в следующих частях статьи).

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

Как стать сеньором слишком рано

Level of difficultyEasy
Reading time2 min
Views25K

Вот один из карьерных путей в разработке ПО:

1. Проведите несколько первых лет в небольшой компании, не понимающей технологий. Теперь вы единственный программист или один из немногих.

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

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

4. Освойтесь в устранении неполадок и в возврате системы в строй. Получите несколько повышений в зарплате и должности, пока в ней не появится слово «Senior»; скорее всего, это произойдёт не позже чем спустя три года после того, как вы начнёте устранять неполадки системы.

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

6. Каждые несколько лет получайте ещё одно повышение и красивое дополнение к названию должности.

Читать далее

Настройка алертингов из Opensearch в Telegram

Reading time5 min
Views5.6K

В «Магните» только по 1С-системам суточный объем логов переваливает за 100 Гб. Их нужно обрабатывать, использовать, выделять ценные данные. Конечно, мы пользуемся Discover и различными дашбордами и визуализациями. Но иногда необходима оперативность. Тогда пригождается система алертингов: она позволяет создавать оповещения и уведомлять пользователей о различных событиях или изменениях в данных.

В рунете не так много материалов по настройке алертингов, поэтому мы решили поделиться своим мануалом в надежде, что это поможет кому-то сберечь драгоценное время. В статье познакомимся с основами работы с алертингами в OpenSearch и настроим один способ доставки оповещений — в Telegram.

Читать далее

Потратил за год 2,3 миллиона рублей, записывая каждую покупку. Узнал много нового о себе

Level of difficultyEasy
Reading time9 min
Views34K

Уже несколько лет я веду детальный контроль наших семейных расходов. Делаю я это в первую очередь для того, чтобы самому себе ответить на вопрос: а сколько мы в действительности тратим денег в разрезе разных категорий? А какова динамика этих расходов во времени? И самое главное - какова наша личная инфляция?

Читать далее

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

Reading time11 min
Views14K

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

Я думал, что меня хватит месяца на три, но вот прошел целый год, а я только вошел в азарт и готов продолжать вести детальный контроль и дальше!

Читать далее

Прекратите клепать базы данных

Reading time15 min
Views64K

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

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

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

Читать далее

9 реальных причин дефицита персонала в России

Reading time5 min
Views139K

Со всех сторон интернета слышу: персонала нет на рынке труда, людей в целом мало — не рождаются, умирают, мол, демографическая яма, работать некому, и всё в таком духе. Кадровый голод в промышленности достиг нового рекорда. Дефицит кадров испытывают 42% предприятий, показал июльский опрос Института Гайдара. На момент предыдущего опроса в апреле о нехватке работников заявляли 35% компаний.А теперь главный вопрос — это физически людей не хватает или просто на ту зарплату, что предлагают, никто не хочет идти?

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

Читать далее

Осторожно: осознанный

Reading time4 min
Views52K

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

Наши местные руководители и HR тоже решают проблему дефицита и оттока программистов. Со свойственной провинциальным людям смекалкой.

Читать далее

Создаём собственную систему поиска фильмов на основе проекта Андрея Карпати

Level of difficultyMedium
Reading time8 min
Views11K
image

В апреле 2023 года Андрей Карпати, один из основателей OpenAI и бывший директор по ИИ в Tesla, поделился своим занятным проектом выходного дня – системой поиска и рекомендации кино.

Её пользовательский интерфейс откровенно прост и предлагает две основных функции: блок поиска, в котором можно искать кино по названию, и вывод списка из 40 похожих фильмов при клике по интересующему.

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

И вот почему
Источник

Chaturvedi: «Может, откроете исходный код проекта?»

Andrej Karpathy: «Даже не знаю. Он такой страшный, что мне стыдно».


Так что запасайтесь попкорном и будем воссоздавать его сами на основе OpenAI и векторной базы данных!
Читать дальше →

С алгоритмами в духе LeetCode на собеседованиях пора кончать

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

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

Такой подход основан на идее, что, если человек знаком с алгоритмами и системным дизайном, то и на разработку приложений ему хватит способностей. Это спорное утверждение. Создание приложений требует обширного набора навыков. Они не нарабатываются сотнями часов заучивания паттернов в решениях задач на алгоритмы. Да и рассматриванием сильно упрощенных версий системного дизайна Netflix, Uber или Twitter Threads делу не поможешь. Навыки разработки приложений оттачиваются путем… ну, разработки приложений. Но часто на технических собеседованиях они даже не принимаются в расчет.
Читать дальше →

SQL HowTo: TOP-N на субинтервалах

Level of difficultyEasy
Reading time3 min
Views5.2K

Периодически сталкиваюсь с однотипными задачами вида "показать TOP-N позиций на каждом из вложенных интервалов некоторого периода".

Это может быть "5 лучших по успеваемости студентов в каждом семестре за последний учебный год", или "помесячная динамика позиции 10 наиболее продающихся товаров", или, как у нас в сервисе визуализации PostgreSQL-планов explain.tensor.ru, "3 наиболее активных страны за каждый день":

Читать далее

Открытые данные. Как сматчить несматчиваемое или Нейросеть вам в помощь

Reading time9 min
Views5.7K

Привет, Точка на связи! Аналитик Никитин Александр и Head of ML Андрей Румянцев разобрались как с помощью машинного обучения смерджить несколько наборов данных из открытых источников и не сойти с ума. Open data, TF-IDF, faiss, pgvector, трансформеры и удивительное завершение нашего приключения — всё это под катом.

Читать далее

Локальные нейросети. Аналог ChatGPT-3.5 на домашнем ПК: OpenChat 7B превосходящая 70B, DeepSeek для кода уровня ChatGPT

Reading time8 min
Views104K

Есть много локальных аналогов ChatGPT, но им не хватает качества, даже 65B модели не могут конкурировать хотя бы с ChatGPT-3.5. И здесь я хочу рассказать про 2 открытые модели, которые всё-таки могут составить такую конкуренцию.

Речь пойдет о OpenChat 7B и DeepSeek Coder. Обе модели за счет размера быстры, можно запускать на CPU, можно запускать локально, можно частично ускорять на GPU (перенося часть слоев на GPU, на сколько хватит видеопамяти) и для такого типа моделей есть графический удобный интерфейс.

И бонусом затронем новую модель для качественного подробного описания фото.

UPD: Добавлена информация для запуска на Windows с ускорением на AMD.

Читать далее

Почему я больше не буду работать наставником на IT-курсах

Level of difficultyEasy
Reading time4 min
Views113K

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

Читать далее

G-code, потерявшийся брат Assembler-а

Reading time11 min
Views37K
Про язык управления промышленными CNC-станками и всевозможными любительскими устройствами вроде 3D-принтеров написано очень много статей, но почитать о том, какова идеология этого языка и как она связана с аппаратной реализацией — почти негде. Поскольку моя работа связана непосредственно с программированием станков и автоматизацией производства, я попробую заполнить этот пробел, а также объяснить, почему выбрал такой странный заголовок.
Читать дальше →

Information

Rating
415-th
Location
Россия
Registered
Activity