Pull to refresh
52
0
Андрей Кравчук @prefrontalCortex

Software Engineer

Send message

Груг против сложности. Я пролинтил все посты на Хабре про Python, и вот что я нашёл

Reading time52 min
Views63K

В какой-то момент времени я превратился в педанта брюзгу. В фильмах малейшие нестыковки и провалы в логике портят мне весь просмотр. В чатах меня бесит it's вместо its. А в статьях про программирование... Всё плохо. За меня всё уже сказал @AlexanderAstafiev, я лишь процитирую:

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

Самое забавное, что, по моим ощущениям, везде я вижу одни и те же классы проблем. Я даже запилил сервис, где можно закинуть код и получить код ревью, и, собрав немного статистики, понял, что 50 типов ошибок достаточно, чтобы покрыть большую часть проблем в чужом коде. Но выборка у меня была небольшая, и я подумал: а что, если проверить много кода?

И всё заверте...

Почему ваш веб-сайт должен быть меньше 14 КБ

Reading time6 min
Views72K

Чем меньше веб-сайт, тем быстрее он грузится, и это неудивительно.

Удивительно то, что страница на 14 КБ может грузиться гораздо быстрее, чем страница на 15 КБ, даже на 612 мс быстрее, хотя разница между страницами на 15 КБ и 16 КБ минимальна.

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

Пара тимлидовских побасёнок

Reading time7 min
Views7.7K

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

Читать далее

Почему некоторым так сложно учиться программированию?

Reading time15 min
Views112K

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

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

Читать далее

Почему изучать программирование так сложно?

Reading time13 min
Views96K

Коля был простым «белым воротничком» в офисе и решил, что хочет научиться программировать, поэтому он поспрашивал вокруг с чего начать. Он начал с изучения Ruby, а затем пробежался по другим языкам, таким как Scala, Clojure и Go. Он изучал Emacs, затем Vim и даже раскладку клавиатуры Дворжака. Он брался за Linux, баловался Lisp и кодировал на Python, живя в командной строке более полугода.

Советы, которые получал Коля, дёргали его сначала в одну сторону, потом в другую, и так далее, как лист в торнадо, пока он, наконец, не прошёл «каждый мыслимый и немыслимый онлайн-курс». В конце концов, несмотря на то, что в итоге он получил работу в разработке, Коля:

Читать далее

Меня «заказал» инфоцыганский авторитет: как мой Телеграм-канал пытаются уничтожить люди, которым я перешел дорогу

Reading time10 min
Views68K

Я написал популярную статью с разоблачением финансового инфоцыгана, который выдавал себя за бывшего советника Набиуллиной. После этого моему каналу объявили настоящую войну: десятки тысяч ботов устраивают бесчинство в комментариях, а самому блогу пытаются создать репутацию «токсичного». Делюсь своим опытом: что делать в такой ситуации, и как защитить свой Телеграм-канал.

Читать далее

Проблемы современного машинного обучения

Reading time41 min
Views44K

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

Частой проблемой в машинном обучении является неспособность ML-моделей корректно работать на большем разнообразии примеров, чем те, что встречались при обучении. Здесь идет речь не просто о других примерах (например, тестовых), а о других типах примеров. Например, сеть обучалась на изображениях коровы, в которых чаще всего корова был на фоне травы, а при тестировании требуется корректное распознавание коровы на любом фоне. Почему ML-модели часто не справляются с такой задачей и что с этим делать – мы рассмотрим далее. Работа над этой проблемой важна не только для решения практических задач, но и в целом для дальнейшего развития ИИ.

Читать далее

Игры для обучения программированию

Reading time6 min
Views30K

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

Профессионалов мало. Но их можно обучать с нуля. Теоретически, при неограниченном времени любого человека можно обучить чему угодно, если у него бесконечное желание и любопытство. Кажется, любопытство даже важнее, чем способности.

Соответствующие способности можно развить, а интеллект — повысить в рамках генетически заданного широкого коридора. Это возможно в любом возрасте. Лучше всего с детства, хотя и взрослым ничто не мешает… Проще всего начинать с игр.
Читать дальше →

Hi-Tech DIY: Турбореактивный микрогенератор электричества. Изучаем возможности

Reading time10 min
Views34K

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

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

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

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

Хостеры с оплатой российскими картами и серверами за границей

Reading time3 min
Views140K

Всем привет! Меня зовут Леонид, я владелец сервиса Поиск VPS. Весной я уже опубликовал две статьи по оплате услуг иностранных хостеров при помощи SWIFT и криптовалют. К сожалению, карты, выпущенные российскими банками, все еще не работают в большинстве стран мира, да и не у всех есть желание и возможность оплачивать услуги указанными выше способами, поэтому сегодня я хочу предложить выборку хостеров, принимающих оплату российскими картами и предоставляющих виртуальные серверы не в России.

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

Читать далее

Как я начал писать симулятор распределённой системы, а закончил WebAssembly

Reading time8 min
Views5.9K

Несколько месяцев назад мне захотелось сдуть пыль со своего аккаунта в Steam и поиграть в старые игры про программирование.

While True Learn в очередной раз показалась слишком скучной, я пару дней позалипал в TIS-100, реализуя свой многопоточный процессор, но в конечном итоге осознал, что интереснее не играть в игры про программирование, а самому писать такие игры.

В статье рассказываю, что из этого получилось и на чём я сломался. Под катом —гремучая смесь из ссылок, картинок, теории распределённых систем и способов визуализации Python в 2022 году.

Читать далее

Насколько жарко — это слишком жарко? Жара + влажность становятся опасными быстрее, чем многие думают

Reading time6 min
Views64K

По мере изменения климата волны жары становятся все более интенсивными: они длятся дольше, идут чаще, а температуры всё выше. Сейчас одна такая волна проносится через Европу: в Испании и Португалии только за прошедшую неделю умерли 1100 человек. Люди просто оказались не готовы к температурам выше 35 ºС: у них в домах не было кондиционеров, а многие днем выходили и пытались работать как обычно. И получили огромные проблемы со здоровьем.

В целом по Европе за одно это лето счет идет уже на десятки тысяч. Этот год, по всей видимости, станет даже более смертоносным, чем печально известный 2003-й, когда в Европе от жары погибло 30 000 людей. Но тогда температура доходила до 37 ºС, сейчас — под тем же Парижем фиксируют уже до +42 ºС.

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

Попытаемся ответить.

Читать далее

Как мы себя обманываем, только бы продолжать пользоваться Golang

Reading time21 min
Views80K

За два года с тех пор, как я опубликовал статью I want off Mr Golang's Wild Ride, она вновь и вновь всплывала на Reddit, Lobste.rs, на HackerNews и в других местах.

Всякий раз дискуссия выходит к одним и тем же ответам:

Go!

40 релизов в неделю при разработке государственного Amazon или почему Agile is dead

Reading time22 min
Views29K

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

Читать далее

Снижение тепловыделения ноутбука в 2022 году

Reading time10 min
Views63K

Однажды я купил ноутбук Dell, да не простой, а XPS, о котором мечтал давным-давно, и хотя это была не компактная 13”-14” модель, а 15”, это не помешало ему стать моей верной рабочей лошадкой. Спустя некоторое время ноутбук начал греться и шуметь вентиляторами, в том числе во время простоя. В какой-то момент он просто начал жарить мои штаны.

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

Штаны Well Done

Как писать код, чтобы тебя не уволили?

Reading time12 min
Views31K

Это несерьёзная статья на серьёзную тему. Есть такое понятие, как JSDD - Job Safety (Security) Driven Development, мы часто видим его в крупных компаниях. От этого не избавлены и небольшие компании, особенно когда в штате всего несколько программистов. Разработчики пишут свой код столь изысканным способом, что, несмотря на очень низкую скорость разработки, их страшно уволить, потому что, кроме них, этот код никто понять не сможет. Давайте попробуем разобрать, почему и как такое происходит.

Читать далее

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

Reading time9 min
Views8.3K

Ещё один текст о том, как правильно общаться с заказчиком, чтобы он лучше вас понимал. На лавры Ильяхова не претендуем, в лёгкий язык без стоп-слов не получилось (сложна!). Постарались собрать краткий гайд «гигиенического минимума коммуникаций» для проджектов и всех, кому предстоит общение с заказчиком.

Читать далее

Разработчик с мозгом груга

Reading time14 min
Views93K

Введение


это сборник мыслей о разработке программ собранный разработчиком с мозгом груга

разработчик с мозгом груга не очень умный, но разработчик с мозгом груга программирует много лет и научился кое чему, хоть всё равно часто запутывается

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

разработчиков с большим мозгом много, некоторым страница не понравится, скривят кислая рожа

Ещё больше-больше ДУМАЮТ, что они разработчики с большим мозгом и им она тоже не понравится

(груг раньше думал груг с большим мозгом, но потом всё понял)

это ладно!

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

Information

Rating
10,133-rd
Location
Подгорица, Подгорица, Черногория
Works in
Date of birth
Registered
Activity

Specialization

Software Developer, Fullstack Developer
Senior
From 5,000 €
Lisp
Clojure
Unix
Linux
Docker