Как стать автором
Обновить
4
0
Константин Алиханов @atomAltera

Фул стек

Отправить сообщение

Как работает ChatGPT: объясняем на простом русском эволюцию языковых моделей с T9 до чуда

Уровень сложностиПростой
Время на прочтение30 мин
Количество просмотров369K

В последнее время нам почти каждый день рассказывают в новостях, какие очередные вершины покорили языковые нейросетки, и почему они уже через месяц совершенно точно оставят лично вас без работы. При этом мало кто понимает — а как вообще нейросети вроде ChatGPT работают внутри? Так вот, устраивайтесь поудобнее: в этой статье мы наконец объясним всё так, чтобы понял даже шестилетний гуманитарий!

Погнали →
Всего голосов 357: ↑350 и ↓7+343
Комментарии283

В IT растет цензура, а мы не замечаем — разрешают только улыбаться и молчать

Время на прочтение8 мин
Количество просмотров125K

У меня есть две статьи-интервью вот с такими странными абзацами. За обоими кроются неприятные истории для меня и для людей, про которых я писал.

Читать далее
Всего голосов 497: ↑480 и ↓17+463
Комментарии1526

Двадцать задачек (по безумной, восхитительной геометрии)

Время на прочтение6 мин
Количество просмотров127K
Предупреждение врача. Остерегайтесь этих головоломок. Побочные эффекты могут включать потерянное послеобеденное время, скомканные волосы и восклицания «А-а-а-х, вот как это делается» настолько громкие, что могут треснуть оконные стёкла.

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

Катриона разрешила мне подвесить вас на эти задачки — и поделилась 20 своими любимыми головоломками. Она даже удовлетворила моё любопытство и восхищение, дав интервью (см. в конце статьи).

Наслаждайтесь. И не говорите, что врач не предупреждал.
Читать дальше →
Всего голосов 54: ↑52 и ↓2+50
Комментарии65

Полномасштабный DevOps: греческая трагедия в трёх актах

Время на прочтение8 мин
Количество просмотров23K
Траге́дия (от нем. Tragödie из лат. tragoedia от др.-греч. τραγωδία) — жанр художественного произведения, предназначенный для постановки на сцене, в котором сюжет приводит персонажей к катастрофическому исходу.

Большинство трагедий написано стихами. Эта трагедия написана Барухом Садогурским (@jbaruch) и Леонидом Игольником (@ligolnik). Если уж мы говорим о DevOps в большом масштабе, что это, как не трагедия?

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

А теперь заканчиваем играть в Белинского и добро пожаловать под кат! Там и текст, и видео. Заложников не брать!


Всего голосов 63: ↑56 и ↓7+49
Комментарии17

О демонах и телепортации: две технологии, которые приближают «квантовое будущее»

Время на прочтение4 мин
Количество просмотров15K
Расскажем о технологиях, которые могут поспособствовать широкому распространению квантовых машин, квантовом эквиваленте демона Максвелла и телепортации квантового вентиля.

Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии11

ДНК. Механизмы хранения и обработки информации. Часть I

Время на прочтение6 мин
Количество просмотров36K

Много людей использует термин ДНК. Но статей, нормально описывающих, как она работает почти нет (понятных не биологам). Я уже описывал в общих чертах устройство клетки и самые основы ее энергетических процессов. Теперь перейдем к ДНК.
ДНК хранит информацию. Это знают все. Но вот как она это делает?

Начнем с того, где она в клетке хранится. Примерно 98% хранится в ядре. Остальное в митохондриях и хлоропластах (в этих ребятах протекает фотосинтез). ДНК — это огромный полимер, состоящий из мономерных звеньев. Выглядит примерно так.



Что мы тут видим? Во-первых ДНК — двухцепочечная молекула. Почему это так важно — чуть позже. Далее мы видим синие пятиугольники. Это молекулы дезоксирибозы (такой сахар, чуть меньше глюкозы. От рибозы отличается отсутствием одной OH группы, что придает стабильности молекуле ДНК, в отличие от РНК, в которой используется рибоза. Дальше, для простоты опущу приставку дезокси и буду просто говорить рибоза, да простят нас щепетильные товарищи). Маленькие кружкИ — остатки фосфорной кислоты. Ну и собственно есть азотистые основания. Всего их 5, но в ДНК в основном встречаются 4. Это Аденин, Гуанин, Тимин и Цитозин. То есть, есть рибоза с которой связано азотистое основание. Вместе они образуют так называемые нуклеозиды, которые связываются друг с другом с помощью остатков фосфорной кислоты. Таким образом мы получаем длинную цепь, состоящую из мономеров. Теперь посмотрите на увеличенную левую цепь. Видите C и G соединены тремя пунктирными линиями, а T и A двумя. Что это значит? Да, ДНК состоит из двух цепей, но что удерживает их вместе? Есть такая штука, как водородная связь. Выглядит примерно так. На атомы кислорода (O) и азота (N) формируется частичный отрицательный заряд, а на водороде (H) — положительный. Это приводит к формированию слабых связей.
Читать дальше →
Всего голосов 30: ↑28 и ↓2+26
Комментарии46

Разбираемся с Render Props на примере

Время на прочтение3 мин
Количество просмотров25K
Привет, Хабр! Представляю вашему вниманию перевод статьи «Learn Render Props by Example».

image

Честно говоря, раньше я не представлял ситуаций, в которых можно применить React render props, пока не увидел практический пример
Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Комментарии3

Ричард Хэмминг: Глава 16. Цифровые фильтры — 3

Время на прочтение13 мин
Количество просмотров7.5K
«Цель этого курса — подготовить вас к вашему техническому будущему.»

imageПривет, Хабр. Помните офигенную статью «Вы и ваша работа» (+219, 2394 в закладки, 377k прочтений)?

Так вот у Хэмминга (да, да, самоконтролирующиеся и самокорректирующиеся коды Хэмминга) есть целая книга, написанная по мотивам его лекций. Мы ее переводи, ведь мужик дело говорит.

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

Мы уже перевели 18 (из 30) глав. И ведем работу над изданием «в бумаге».

Глава 16. Цифровые фильтры — 3


(За перевод спасибо Пахомову Андрею, который откликнулся на мой призыв в «предыдущей главе».) Кто хочет помочь с переводом, версткой и изданием книги — пишите в личку или на почту magisterludi2016@yandex.ru

И вот теперь мы готовы рассмотреть систематический синтез нерекурсивных фильтров. Метод синтеза таких фильтров показан на рисунке 16.1 и состоит из 6 частей. Слева сверху эскиз фильтра, который вы хотели бы получить в идеальном случае. Это может быть фильтр низких частот, фильтр верхних частот, полосно-заграждающий, полосно-пропускающий фильтр, фильтр-пробка или даже диференциатор. Для всех типов фильтров, кроме диференциатора, обычно стремятся получить передаточную характеристику равную 0 или 1 на различных интервалах частот, в то время как для диференциатора стремятся получить в качестве передаточной характеристики, потому что производная собственной функции фильтра равна



следовательно желаемые коэффициенты равняются iω.
Читать дальше →
Всего голосов 20: ↑20 и ↓0+20
Комментарии0

Цвет: от шестнадцатеричных кодов до глаза

Время на прочтение16 мин
Количество просмотров53K


Почему мы воспринимаем background-color: #9B51E0 как этот конкретный фиолетовый цвет?



Долгое время я думал, что знаю ответ на этот вопрос. Но хорошенько поразмыслив, осознал значительные пробелы в своих знаниях.
Читать дальше →
Всего голосов 104: ↑104 и ↓0+104
Комментарии27

Ловкость рук и никакого мошенничества: практические советы по ускоренному обучению дизайну для разработчиков

Время на прочтение6 мин
Количество просмотров52K
Улучшаем дизайн проекта с помощью тактически грамотных действий, а не таланта.

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

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

Легко опустить руки и сказать: «Я никогда не смогу сделать это должным образом, я не художник!», Но, оказывается, есть уйма ловких приёмов, которые вы сможете использовать, чтобы поднять свою работу на другой уровень, не имея опыта в графическом дизайне.

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

1. Для создания иерархии используем цвет и вес вместо размера



Читать дальше →
Всего голосов 68: ↑67 и ↓1+66
Комментарии28

Угрозы прошлого и протоколы будущего

Время на прочтение5 мин
Количество просмотров11K


Как многие из читателей блога Qrator Labs, вероятно, уже знают, DDoS-атаки могут быть нацелены на разные уровни сети. В частности, наличие у злоумышленника крупного ботнета позволяет ему осуществлять атаки на уровень L7 (application/прикладной) и пытаться мимикрировать под нормального пользователя, в то время как без оного атакующий вынужден ограничиваться пакетными атаками (любыми, позволяющими подделывать адрес источника на том или ином этапе) на нижележащие уровни транзитных сетей.

Естественно, и для первой, и для второй задачи атакующие обычно стремятся использовать какой-то уже существующий инструментарий – ровно так же, как, например, разработчик веб-сайта не пишет его полностью с нуля, а использует распространённые фреймворки вроде Joomla и Bootstrap. Например, популярным фреймворком для организации атак с Интернета вещей уже полтора года является Mirai, чей исходный код был выложен в открытый доступ его авторами в попытке стряхнуть с хвоста ФБР еще в октябре 2016-го.

А для пакетных атак таким популярным фреймворком является встроенный в Linux модуль pktgen. Его туда встраивали не для этого, а для вполне легитимных целей сетевого тестирования и администрирования, однако, как писал Исаак Азимов, «атомный бластер — хорошее оружие, но он может стрелять в обе стороны».
Читать дальше →
Всего голосов 35: ↑34 и ↓1+33
Комментарии3

Честный подход к управлению людьми, или Почему я никогда не делаю контрофферы

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



Дисклеймер: Яндекс очень большой и разный, и я описываю здесь только принципы, принятые в разработке Яндекс.Здоровья. Уверен, что коллеги из других подразделений могут не разделять мои (довольно радикальные) убеждения и не видят ничего зазорного в том, чтобы удержать хорошего человека, сделав ему контроффер.

Пару слов о себе. Я CTO в сервисе Яндекс.Здоровье, отвечаю за всю его техническую часть: разработку, тестирование, эксплуатацию и т. д. Сервис растёт стремительными темпами, мы активно расширяем команду, собеседуем технарей (разработчиков, тестировщиков, админов) и в большом количестве приглашаем их на работу. Время от времени случается, что хорошие кандидаты отказываются от подтверждённого ими на словах оффера. В большинстве случаев, расспросив кандидата, мы узнаём, что на текущей работе ему или ей сделали встречное «предложение, от которого нельзя отказаться», и оно звучит вкуснее и интереснее, чем наше.
Читать дальше →
Всего голосов 156: ↑122 и ↓34+88
Комментарии336

Крупнейшие мероприятия 2018 года: дизайн и фронтенд

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


Читать дальше →
Всего голосов 14: ↑13 и ↓1+12
Комментарии4

Прошло 10 лет, а никто не придумал, как использовать блокчейн

Время на прочтение14 мин
Количество просмотров144K
Все говорят, что блокчейн — технология, лежащая в основе криптовалют — изменит ВСЁ. Но спустя годы усилий и многомиллиардные инвестиции никто так и не придумал, как можно использовать блокчейн, если не считать криптовалютных спекуляций и противозаконных финансовых транзакций.

Во всех описываемых случаях использования — от платежей до юридических документов, от депонирования до систем голосования — авторы прибегали к всевозможным ухищрениям, чтобы внедрить распределённый, зашифрованный, анонимный реестр, в котором не было нужды. А что если вообще не существует потребности в использовании распределённого реестра? Что если отсутствие масштабных проектов на базе распределённого реестра спустя десятилетие разработок объясняется тем, что это никому не нужно?
Читать дальше →
Всего голосов 233: ↑190 и ↓43+147
Комментарии480

Новогодние подарки, часть вторая: Spectre

Время на прочтение11 мин
Количество просмотров73K
Часть первая: Meltdown.

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

Если говорить очень-очень коротко, то Spectre — принципиально схожая с Meltdown уязвимость процессоров в том смысле, что она тоже представляет собой аппаратную особенность и эксплуатирует непрямые каналы утечки данных. Spectre сложнее в практической реализации, но зато она не ограничивается процессорами Intel, а распространяется — хоть и с нюансами — на все современные процессоры, имеющие кэш и механизм предсказания переходов. То есть, на все современные процессоры.

Строго говоря, Spectre не является одной уязвимостью — уже на старте заявлены два различных механизма (CVE-2017-5753 и CVE-2017-5715), а авторы отмечают, что может быть ещё и много менее очевидных вариантов.

В основе своей Spectre похожа на Meltdown, так как также базируется на том факте, что в ходе спекулятивного выполнения кода процессор может выполнить инструкции, которые он не стал бы выполнять при условии строго последовательного (неспекулятивного) вычисления, и, хотя в дальнейшем результат их выполнения отбрасывается, его отпечаток остаётся в процессорном кэше и может быть использован.
Читать дальше →
Всего голосов 148: ↑147 и ↓1+146
Комментарии140

Новогодние подарки, часть первая: Meltdown

Время на прочтение13 мин
Количество просмотров104K
Да, я знаю, что это уже третий материал на GT/HH по данной проблеме.

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

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

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

К счастью, подвержены они ей в разной степени. К несчастью, самый серьёзный удар пришёлся на самые распространённые процессоры — Intel, причём затронул он абсолютно все выпускающиеся и практически все эксплуатируемые (единственным исключением являются старые Atom, выпущенные до 2013 года) процессоры этой компании.
Читать дальше →
Всего голосов 179: ↑177 и ↓2+175
Комментарии265

Как «пробить» человека в Интернет: используем операторы Google и логику

Время на прочтение9 мин
Количество просмотров928K

В очередной статье нашего цикла публикаций, посвященного интернет-разведке, рассмотрим, как операторы продвинутого поиска Google (advanced search operators) позволяют быстро находить необходимую информацию о конкретном человеке.


В комментариях к первой нашей статье, читатели просили побольше практических примеров и скриншотов, поэтому в этой статье практики и графики будем много. Для демонстрации возможностей «продвинутого» поиска Google в качестве целей были выбраны личные аккаунты автора. Сделано это, чтобы никого не обидеть излишним интересом к его частной жизни. Хочу сразу предупредить, что никогда не задавался целью скрыть свое присутствие в интернете, поэтому описанные методы подойдут для сбора данных об обычных людях, и могут быть не очень эффективны для деанонимизации фэйковых аккаунтов, созданных для разовых акций. Интересующимся читателям предлагаю повторить приведенные примеры запросов в отношении своих аккаунтов и оценить насколько легко собирать информацию по ним.


Читать дальше →
Всего голосов 122: ↑105 и ↓17+88
Комментарии108

Сверточная сеть на python. Часть 2. Вывод формул для обучения модели

Время на прочтение5 мин
Количество просмотров30K

В прошлой статье мы рассмотрели концептуально все слои и функции, из которых будет состоять будущая модель. Сегодня мы выведем формулы, которые будут отвечать за обучение этой модели. Слои будем разбирать в обратном порядке — начиная с функции потерь и заканчивая сверточным слоем. Если возникнут трудности с пониманием формул, рекомендую ознакомиться с подробным объяснением (на картинках) метода обратного распространения ошибки, и также вспомнить о правиле дифференцирования сложной функции.
Читать дальше →
Всего голосов 67: ↑66 и ↓1+65
Комментарии0

Сверточная сеть на python. Часть 1. Определение основных параметров модели

Время на прочтение8 мин
Количество просмотров71K

Несмотря на то, что можно найти не одну статью, объясняющую принцип метода обратного распространения ошибки в сверточных сетях (раз, два, три и даже дающих “интуитивное” понимание — четыре), мне, тем не менее, никак не удавалось полностью понять эту тему. Кажется, что авторы недостаточно внимания уделяют обычным примерам либо же опускают какие-то хорошо понятные им, но не очевидные другим особенности, и весь материал по этой причине становится неподъемным. Мне хотелось разложить все по полочкам для самого себя и в итоге конспекты вылились в статью. Я постарался исключить все недостатки существующих объяснений и надеюсь, что эта статья ни у кого не вызовет вопросов или недопониманий. И, может, следующий новичок, который, также как и я, захочет во всем разобраться, потратит уже меньше времени.
Читать дальше →
Всего голосов 16: ↑15 и ↓1+14
Комментарии10

Почему компания меня потеряла

Время на прочтение7 мин
Количество просмотров66K
Когда деревья были только бинарными, а дешевая чашка кофе стоила дороже, чем час программиста, автор делал первые попытки программирования. Не существовало «айтишников», «дизайнеров», «js-ников», и даже «прогеров» — ты либо был на «ты» с железками, всем софтом и программированием, либо нет. Время ушло, пришла специализация, выросли оклады, потом еще раз, а потом помножились на два. И теперь мы охеревшие настолько специализированы, что…

Автор — из старой школы. По разным причинам. Мне нравится заниматься «всем», помогать себе и компании, и я рассчитываю на отдачу — не только, и не столько, на финансовую. Я постоянно учусь. Но не только своей «основной», узкой специальности (=программирование), за которую платят, и ниже объясню, почему…

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

Дальше я постараюсь обобщить личный и известный мне опыт по этой проблеме.

Тем, кто вдруг узнает меня по этой публикации
Пожалуйста, не показывайте, что читали это, ведь опыт может помочь нам всем, а каких-либо обид на вас у меня нет.
Читать дальше →
Всего голосов 169: ↑134 и ↓35+99
Комментарии412
1

Информация

В рейтинге
Не участвует
Откуда
Тбилиси, Грузия, Грузия
Дата рождения
Зарегистрирован
Активность