Печать традиционно была сложным техническим процессом. Еще до изобретения Гутенберга изготовление бумаги, чернил и оттисков требовали незаурядных знаний. После появления подвижных литер печать стала одной из важнейших сфер бизнеса, где в первую очередь применялись технические инновации: паровые механизмы, электричество, фоточувствительные материалы, лазер и другие.
Читать далееМы узнали сколько зарабатывают программисты его уровня в США и можно ли найти работу, не зная английского языка. Александр рассказал нам, из-за чего русских считают токсичными и почему румынский коллега сначала делает задачи российского сеньора и только потом — индийского руководителя.
Читать далееПрямо сейчас я пишу эту статью в одном из реально удобных сервисов Google Docs. Да и каждый из нас по много раз в день контактирует с каким-то сервисом Google: просматривает почту на Gmail, смотрит ролики на YouTube, ищет информацию в Chrome, пользуется смартфоном на Android и так далее. В общем, Google вряд ли нуждается в представлении.
Но есть у компании и провальные проекты вроде Google Glass. Еще на нее сыплются многочисленные иски от недовольных пользователей, а правительства выписывают многомиллионные штрафы за монополизацию. Тем не менее этот гигант стоит крепко и падать не собирается. Например, недавно Google включился со своим Gemini в нейросетевую гонку с OpenAI.
А ведь компании могло и не случиться, если бы не настойчивость двух студентов, которые создали лучшую поисковую систему в мире. О них и их главном детище — наш сегодняшний рассказ.
Читать далееВсем привет! Меня зовут Дмитрий Булгаков, я Android-разработчик в HiFi-стриминге Звук, и я расскажу, как можно создать аудиоплеер в приложении. Поговорим об инструментах разработки и устройстве плеера — разберем его «анатомию», компоненты и их применение, а также способы улучшения звука с помощью эквалайзера.
Для вашего удобства гайд разделён на несколько основных частей. В первой расскажу об актуальных инструментах разработки плеера и о том, что у него «под капотом».
Поехали!
Читать далееСкрайбинг — это метод визуализации идей, процессов и другой информации через рисунки, символы и текст. Но это не просто рисунки, а целенаправленное создание визуальных записей, которые способствуют лучшему пониманию, запоминанию и обобщению сложных концепций. Скрайбинг делает информацию более доступной, превращая абстрактные идеи в конкретные, легко воспринимаемые визуальные образы.
Скрайбинг применяют в разных сферах, начиная от повседневных заметок и заканчивая стратегическими сессиями в крупных компаниях. В статье мы поговорим о применении скрайбинга в ИТ. В мире, где сложность проектов постоянно растёт, а команды становятся всё более мультидисциплинарными, скрайбинг становится незаменимым инструментом для планирования, разработки и коммуникации. Он позволяет структурировать требования проекта, визуализировать архитектуру систем, проектировать пользовательские интерфейсы и сценарии использования продукта. Благодаря скрайбингу сложные технические идеи становятся понятными не только для специалистов, но и для клиентов, что значительно улучшает взаимопонимание и облегчает процесс разработки.
Читать далееМне в голову пришла идея пет-проекта, который изначально никак не был связан с текстовым редактором. Однако, в процессе работы все дошло до того, что пользователям нужно где-то набирать текст. Я люблю Notion и пишу там много и часто, поэтому решил сделать похожий (но сильно упрощенный) редактор в своём проекте. Не столько из нужды, сколько из любопытства, ведь я никогда не занимался ничем подобным и мало что знал о том, как писать текстовые редакторы.
В статье хочу рассказать про атрибут contenteditable у HTML-элементов, про сопутствующие проблемы при его использовании, про кастомное форматирование и про работу с выделенными участками текста.
Читать далееНад OpenAI — разработчиком искусственного интеллекта и Chat GPT, сгустились тучи. С середины 2023 года против компании и её основного инвестора Microsoft было возбуждено более дюжины громких судебных процессов и правительственных расследований в разных странах. Истцы утверждают, что компания нарушает закон об авторском праве, обучая алгоритмы искусственного интеллекта. Илон Маск подал в суд на OpenAI за отказ от первоначальной некоммерческой миссии, а государственные регуляторы в США, ЕС и Великобритании расследуют, нарушила ли компания законы о конкуренции, ценных бумагах и защите прав потребителей.
Читать далееИтак, вы хотите улучшить эффективность работы своей модели глубокого обучения. Как подойти к такой задаче? Народ в таких случаях часто набрасывается на «сборную солянку» из всяких хитрых приёмов, которые, вроде бы, кому‑то когда‑то помогли, или хватает что‑то, встреченное в каком‑нибудь твите, вроде «Используйте операции, изменяющие исходные данные! Задайте значение None для градиентов! Устанавливайте PyTorch 1.10.0, но ни в коем случае не 1.10.1!».
Понятно — почему люди часто прибегают к таким вот спонтанным действиям в подобных ситуациях. Ведь «эффективность работы» современных систем, их «производительность» (в особенности — систем глубокого обучения) часто кажутся нам понятиями, которые ближе к алхимии, чем к науке. Тем не менее — рассуждения о производительности, в основе которых лежат базовые принципы работы компьютерных систем, способны устранить надобность в широком круге «магических» приёмов и в результате значительно облегчить путь к решению проблемы.
Читать далееЯ люблю С++. Это мой основной язык разработки на работе и в домашнем проекте. Я люблю его за скорость, за гибкость и близость к железу. Используя его, я понимаю "что происходит внутри". Я учился на нем программировать, и когда я пишу программы я "думаю на С++".
Я работаю в геймдеве, где С++ все еще популярен и ценится за все эти качества. Так же я много работал с C#, Lua, Python, немного JS и PHP. В общем, есть с чем сравнить.
Однако, у меня есть изрядная доля ненависти к С++. Я вижу в нем кучу проблем, которые не решаются годами. Я вижу как другие страдают от этих проблем.
В этой статье я хочу излить душу, за что я ненавижу С++. Мне от этого станет легче, возможно кому-то еще. Не стесняйтесь писать свой хейт (или защиту), устроим групповой сеанс терапии (или холивар)
Дисклеймер: Не стоит относиться слишком серьезно к этому тексту. Он наполнен душевной болью, и направлен лишь на релаксацию и сброс напряжения
Читать далееСлучается, что после выхода на работу ожидание после собеседования с компанией не совпадает с реальностью: карьерного роста нет, задачи одни и те же, до менеджмента не достучаться, так еще и обещанную квартальную премию не выплатили. Знаем, потому что проходили через это сами, а еще постоянно читаем и пишем отзывы на компании на Хабр Карьере.
Под катом рассказываем, почему и вам советуем так делать. А в соседней вкладке вы можете почитать отзывы о своем работодателе или даже написать свой.
Читать далееПоделюсь как начал писать приложение для интернет-магазина на монолите, затем перешёл на микросервисы.
Читать далееВнутри Dolt, первой в мире базе данных SQL с полнофункциональными возможностями контроля версий, таится много интересной computer science. Недавно я писал о системе хранения Dolt, в ней есть очень тонкая особенность — применение вероятностного поиска на больших выборках 64-битных целых чисел.
В любом учебном плане по Computer Science есть курс алгоритмов. Моим был CS 102, и одним из пунктов, который объяснялся в нём досконально, было то, что поиск — это, по сути, задача O(log2(N)) при условии, если данные отсортированы. За свою карьеру я многократно встречался с этим в том или ином виде — если сортируешь информацию и сохраняешь её, то стоит ожидать, что для поиска потребуется время O(log2(N)). В общем случае мы соглашаемся на время поиска O(log2(N)), потому что оказывается, что можно перебрать большой объём данных с логарифмическим коэффициентом масштабирования. Эта система работает, потому что мы уже почти автоматически сортируем всё заранее.
Но что, если мы добавим дополнительные ограничения на наши данные, которые позволят нам выполнять поиск за константное время?
Будет ли эта статья историей о необязательной оптимизации? Да, будет. В этом конкретном случае поиск будет занимать гораздо меньше времени, чем чтение с диска. Мы говорим о величинах менее чем 0,1% от суммарного времени. Будет ли эта статья историей о преждевременной оптимизации? Нет, не будет. Это бы подразумевало, что мы не осознаём, что время тратится не на то. Эта статья — история о заманчивости алгоритма константного времени.
Читать далееДа, все мы читали на Хабре о новых видах аккумуляторов, больших и малых. Публиковались новости и статьи обо всём в этой отрасли — от атомных батареек до необычных электролитов. К сожалению, до сих пор в мире первую скрипку играют литиевые аккумуляторы, новые разработки широкого распространения не получили. По крайней мере, пока.
Но уже хорошо то, что исследования в этом направлении ведутся, возможно, в ближайшем будущем мы и услышим о новинках. Одна из них, появившаяся совсем недавно, — батареи на базе цинка. Подробности — под катом.
Читать далееСуществуют ли альтернативы Figma? Обзор основных конкурентов. Есть ли те, которые способны потеснить дизайн-гегемона с первого места?
Читать далее