Pull to refresh
4
0
Константин Алиханов @atomAltera

Фул стек

Send message

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

Level of difficultyEasy
Reading time30 min
Views434K

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

Погнали →
Total votes 299: ↑292 and ↓7+343
Comments283

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

Reading time8 min
Views125K

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

Читать далее
Total votes 383: ↑366 and ↓17+463
Comments1526

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

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

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

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

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

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

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

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

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

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


Total votes 63: ↑56 and ↓7+49
Comments17

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

Reading time4 min
Views16K
Расскажем о технологиях, которые могут поспособствовать широкому распространению квантовых машин, квантовом эквиваленте демона Максвелла и телепортации квантового вентиля.

Читать дальше →
Total votes 13: ↑13 and ↓0+13
Comments11

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

Reading time6 min
Views38K

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

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



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

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

Reading time3 min
Views26K
Привет, Хабр! Представляю вашему вниманию перевод статьи «Learn Render Props by Example».

image

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

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

Reading time13 min
Views7.5K
«Цель этого курса — подготовить вас к вашему техническому будущему.»

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

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

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

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

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


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

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



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

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

Reading time16 min
Views54K


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



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

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

Reading time6 min
Views52K
Улучшаем дизайн проекта с помощью тактически грамотных действий, а не таланта.

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

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

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

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

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



Читать дальше →
Total votes 68: ↑67 and ↓1+66
Comments28

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

Reading time5 min
Views11K


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

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

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

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

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



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

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

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

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


Читать дальше →
Total votes 14: ↑13 and ↓1+12
Comments4

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

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

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

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

Reading time11 min
Views73K
Часть первая: Meltdown.

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

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

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

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

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

Reading time13 min
Views104K
Да, я знаю, что это уже третий материал на GT/HH по данной проблеме.

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

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

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

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

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

Reading time9 min
Views946K

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


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


Читать дальше →
Total votes 122: ↑105 and ↓17+88
Comments108

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

Reading time5 min
Views31K

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

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

Reading time8 min
Views73K

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

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

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

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

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

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

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

Information

Rating
Does not participate
Location
Тбилиси, Грузия, Грузия
Date of birth
Registered
Activity