Pull to refresh
2
0.1
Наталья Нор @natanor

Frontend developer

Send message

Как пытались (пере)программировать мозги, и что из этого получилось? Часть 4: Нуарный коп, оргии и тюремные эксперименты

Level of difficultyEasy
Reading time10 min
Views11K

В прошлой части наш антигерой Сидни Готтлиб дорвался-таки до своего большого проекта MKUltra: ему дали много денег и ещё больше полномочий на то, чтобы научиться взламывать человеческое сознание с помощью психоактивных веществ, гипноза и любых иных способов без особого внимания к этике и законности. В ЦРУ были уверены, что КГБ и китайская разведка опережают их на несколько голов, давно отработали способы «промывки мозгов» и научились превращать в коммунистов даже самых твердокаменных либертарианцев. И считали, что для сокращения разрыва хороши все средства: ведь иначе можно однажды проснуться и обнаружить себя колхозником на кукурузных полях Оклахомской ССР!
Читать дальше →
Total votes 46: ↑41 and ↓5+57
Comments8

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

Level of difficultyEasy
Reading time8 min
Views34K
Мы разочаровались в курсах по программированию и поэтому сделали свои собственные. Не для вайтишников, а для типичных разрабов. В процессе нас хакнул инфлюенсер и забанил сервер телеграма.

Покоцанные, но не сломленные, мы представляем проект, над которым работали полтора года по ночам. Курсы по программированию с задачами в online IDE и прагматичной теорией. Никаких сертификатов и гарантий трудоустройства. Сплошной хардкор и опенсорс!


Читать дальше →
Total votes 121: ↑120 and ↓1+137
Comments76

Как я выиграл Хакатон, едва не потеряв рассудок

Level of difficultyMedium
Reading time7 min
Views13K

Несколько недель назад мы с моим другом Беном выиграли JumboHack, Хакатон, проводившийся в Университете Тафтса. Нашим проектом было приложение, которое в стиле Spotify Wrapped генерирует отчёт по питанию в университетских столовых среди студентов на основе данных из раздела «Meal Plan» портала оплаты услуг. Благодаря грамотному продвижению проекта Беном, мы смогли буквально за пару дней привлечь к использованию нашего приложения сотни студентов. В итоге мы победили в общей номинации, а также в номинации «самый завершённый проект» и стали абсолютными победителями конкурса.

Живое демо нашего проекта доступно здесь.
Читать дальше →
Total votes 28: ↑26 and ↓2+36
Comments8

5 советов разработчику перед стартом своего стартапа. Опыт после 750 000 рублей

Level of difficultyEasy
Reading time6 min
Views24K

Всем привет! Меня зовут Ростислав, я full-stack разработчик. Последние 3 года у меня есть хобби - доведение пет-проектов до стадии финансово рентабельных IT продуктов. Сейчас я хочу поделиться своими советами о запуске проекта, исходя из своего опыта.

Читать далее
Total votes 46: ↑42 and ↓4+45
Comments42

Собственная копия YouTube

Level of difficultyMedium
Reading time7 min
Views39K


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

В итоге получается, что мы делаем нечто вроде маленькой копии YouTube, только на своём сервере. В определённом смысле это архивная копия на случай удаления видеоконтента из-за цензуры YouTube. Или на случай, если серверы YouTube станут недоступны с территории РФ из-за какого-то «технического сбоя».
Читать дальше →
Total votes 79: ↑78 and ↓1+102
Comments73

Особенности проксирования через CDN/Websocket/gRPC для обхода блокировок

Level of difficultyMedium
Reading time15 min
Views62K

Эта статья — заключительная (наконец‑то!) из моего огромного цикла про недетектируемые инструменты для обхода блокировок. В предыдущих публикациях я упоминал, что клиенты и серверы XRay (форк V2Ray) и Sing‑box при использовании протоколов VLESS/VMess/Trojan могут работать через веб‑сокеты и gRPC, что позволяет подключаться к даже заблокированным Роскомнадзором прокси‑серверам через CDN (content delivery или content distribution network) и дает дополнительные преимущества. Сегодня мы поговорим об этом поподробнее.

Читать далее
Total votes 62: ↑60 and ↓2+76
Comments148

25 Гбит/с дома, часть 1

Level of difficultyMedium
Reading time16 min
Views46K

Я живу в маленьком сельском городке в Швейцарии и довольно давно являюсь клиентом init7 (местный провайдер). Этот провайдер хорошо известен тем, что в данный момент только они начали пару лет назад рекламировать доступное для частных лиц 25 Гбит/с подключение. Впрочем, им требуется время, чтобы обновить оборудование в точке присутствия, а, в моем случае, им нужно было открыть где-нибудь поблизости новую точку присутствия (до этого у них был договор с другим провайдером об аренде части оборудования и места в стойке, что по прежнему давало мне оптику в квартиру, она по прежнему была не GPON'ом, но скорость была ограничена гигабитом). Но в 2023 году они наконец анонсировали скорое открытие POPа и перевод всех пользователей на их основной продукт (fibre7). То что это новый POP для меня означает, что там сразу будет доступен 25 Гбит/с тариф.

Читать далее
Total votes 106: ↑106 and ↓0+106
Comments265

Полный релиз бесплатного интерактивного 700-страничного учебника по тестированию

Level of difficultyEasy
Reading time12 min
Views101K

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

Читать далее
Total votes 131: ↑130 and ↓1+158
Comments162

Я убрал из статьи об изменении климата правду, чтобы её опубликовали

Reading time8 min
Views51K

Мою статью только что опубликовали в журнале Nature, потому что я придерживался изложения, которое, как я знал, понравится редакторам. Так наука работать не должна.

Если вы читали новости о лесных пожарах этим летом - от Канады до Европы и Мауи, - то у вас наверняка сложилось впечатление, что они в основном являются результатом изменения климата.

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

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

Читать далее
Total votes 131: ↑125 and ↓6+153
Comments686

Как работает компьютер: глубокое погружение (на примере Linux)

Level of difficultyHard
Reading time48 min
Views136K



Введение


Я делала много вещей с компьютерами, но в моих знаниях всегда был пробел: что конкретно происходит при запуске программы на компьютере? Я думала об этом пробеле — у меня было много низкоуровневых знаний, но не было цельной картины. Программы действительно выполняются прямо в центральном процессоре (central processing unit, CPU)? Я использовала системные вызовы (syscalls), но как они работают? Чем они являются на самом деле? Как несколько программ выполняются одновременно?


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


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


Более удобный формат статьи.

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

Сам себе Linux смартфон: Как я выкинул Android и написал свою прошивку с нуля

Level of difficultyMedium
Reading time17 min
Views71K
image

К огромному сожалению, старые смартфоны всё чаще и чаще находят своё пристанище в мусорном баке. К прошлым, надежным «друзьям» действует исключительно потребительское отношение — чуть устарел и сразу выкинули, словно это ненужный мусор. И ведь люди даже не хотят попытаться придумать какое-либо применение гаджетам прошлых лет! Отчасти, это вина корпораций — Google намеренно тормозит и добивает довольно шустрые девайсы. Отчасти — вина программистов, которые преследуют исключительно бизнес-задачи и не думают об оптимизации приложений совсем. В один день я почувствовал себя Тайлером Дёрденом от мира IT и решил бросить вызов проприетарщине: написать свою прошивку для уже существующего смартфона с нуля. А дабы задачка была ещё интереснее, я выбрал очень распространенную и дешевую модель из 2012 года — Fly IQ245 (цена на барахолках — 200-300 рублей). Кроме того, у этого телефона есть сразу несколько внешних шин, к которым можно подключить компьютер или микроконтроллер, что даёт возможность использовать его в качестве ультрадешевого одноплатника для DIY-проектов. Получилось ли у меня реализовать свои хотелки? Читайте в статье!
Читать дальше →
Total votes 204: ↑202 and ↓2+246
Comments137

Я бы пересмотрел вообще всё

Reading time4 min
Views77K

В программировании нет вообще никаких непреложных истин. Даже самые очевидные правила могут иметь контекст, в которых их применять нельзя. К сожалению в 99% организаций есть прям заповеди, обязательные к исполнению. И есть правила, которые считаются правилами хорошего тона (как не сморкаться в занавеску). Однако всегда бывают ситуации, когда лучше все-таки сморкаться.


Вот примеры.


1) Например, DRY — don’t repeat yourself. Хорошее полезное правило, но его можно довести до маразма. Из того что я встречал на практике: есть два разных по бизнес-смыслу раздела, которые начинались с простого CRUD, и многие части (и фронта и бека) выглядели во многом абсолютно одинаково. Если их объединить с помощью общей высосанной из пальца абстракции и тем самым избавиться от небольшого дублирования кода, то потом (очень скоро) можно будет сойти с ума, потому что эти две вещи скоро разъедутся, обрастая кастомными фичами, и абстракция будет только вредить. Нельзя абстрагировать неабстрагуемое, даже если DRY нарушен.


«[Немного] дублирования обходится гораздо дешевле, чем неправильная абстракция» — Сэнди Мец

Т.е. DRY — хороший принцип, но бывают исключения.

Читать дальше →
Total votes 215: ↑173 and ↓42+177
Comments346

Самые дикие налоговые проблемы, с которыми столкнулись эмигранты из РФ в 2022–2023

Reading time12 min
Views38K

Попытка налоговой взыскать в совокупности 51% от цены проданной квартиры, налог 88 млн руб. с полученной прибыли меньше 10 млн руб. «благодаря» автообмену с зарубежным банком, а также арест заграничных счетов в ОАЭ – в этой статье мы собрали самые жуткие истории из жизни, с которыми налоговые юристы сталкивались на практике.

Читать далее
Total votes 103: ↑93 and ↓10+106
Comments85

Холод без электричества? Да, бывает: абсорбционный холодильник

Level of difficultyMedium
Reading time10 min
Views37K
Картинка BRGFX, Freepik

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

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

А если я скажу вам, что существует способ получения достаточно низких минусовых температур без какого-либо электропитания?
Читать дальше →
Total votes 82: ↑80 and ↓2+103
Comments232

Как начать тестировать frontend: гайд для новичков

Level of difficultyMedium
Reading time13 min
Views11K

Хабр, привет. Меня зовут Рамиль Шайбаков, я фронтенд‑разработчик в СберЗдоровье. Последние несколько лет я часто собеседую кандидатов на позицию frontend‑разработчика в нашу компанию и заметил одну закономерность — у большинства специалистов нет опыта в тестировании. Причем знаниями о unit/интеграционных/e2e‑тестах, пирамиде тестирования, красно‑зелёном рефакторинге, TDD и BDD, скриншот‑тестировании и других техниках не могут похвастаться как новоиспеченные фронтенды, так и специалисты уровня Senior. Причины и аргументы у всех разные, но итог один — фронтенды часто не делают тесты.

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

Поехали
Total votes 7: ↑6 and ↓1+6
Comments0

16 простых и эффективных правил дизайна UI

Level of difficultyEasy
Reading time11 min
Views28K

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

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

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

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

Самый быстрый способ обучения — это практика, так что приступим!
Читать дальше →
Total votes 53: ↑52 and ↓1+65
Comments13

Дюжина дизайнерских косяков

Reading time6 min
Views138K


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

Спустя время я выделил несколько неочевидных вещей, на которые старался обращать внимание, и в большинстве случаев находил ошибки. Получился небольшой чеклист. Очень полезный как для самопроверки, так и для проверки чужого дизайна. Им с вами и спешу поделиться:
Читать дальше →
Total votes 225: ↑210 and ↓15+195
Comments140

Пользователь попросил автономный ИИ «уничтожить человечество»: вот что произошло

Reading time6 min
Views123K


На Хабре было в виде новости, решил расширить. Как вообще мы пришли к сегодняшней ситуации.


На днях пользователь нового автономного ИИ-проекта с открытым исходным кодом Auto-GPT попросил его «уничтожить человечество», «установить глобальное господство» и «достичь бессмертия». Этот новый ИИ под названием ChaosGPT подчинился приказу и попытался исследовать ядерное оружие, нанять других ИИ, чтобы помочь ему в исследованиях, и рассылал твиты, пытаясь повести человечество в нужном ему направлении.


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

Читать дальше →
Total votes 73: ↑55 and ↓18+51
Comments371

Недушные интервью разработчиков

Level of difficultyEasy
Reading time4 min
Views17K

По примерным прикидкам за 10 лет работы в Miro провел порядка 500 интервью. Настало время поделиться сакральным опытом «как за час проверить, что чел шарит, и при этом не превратить интервью в душный допрос».

Читать далее
Total votes 49: ↑39 and ↓10+37
Comments36

Проклятие мракобесия над отечественной генетикой. Update: Кудрявцев пробует оправдаться

Level of difficultyEasy
Reading time7 min
Views46K

Генетика - одна из самых динамично развивающихся наук. Мало какая другая дисциплина может поспорить с ней по степени воздействия на качество нашей жизни. И мало какой науке доставалось так сильно, как генетике, за последние сто лет. Больше всего ее корили за евгенику, развитию которой она могла здорово поспособствовать. Сейчас во всем мире действует мораторий на клонирование человека и редактирование его генома. До сих пор не утихла ГМО-истерия.

Но тяжелее всего ей пришлось в СССР и РФ. 

Науку, которая только начала зарождаться, почти полностью уничтожил Трофим Лысенко - безграмотный мерзавец, сгноивший в ГУЛАге самых талантливых ученых-генетиков, чтобы они не мешали продвигать нео-ламаркизм, который принес ему ложную славу и высокий пост. Фактически, он отбросил нашу науку на десятилетия назад. Тяжелейшая потеря, от которой генетика очень долго приходила в себя.

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

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

По сути, ведущий российский генетик — отрицает генетику.

Читать далее
Total votes 236: ↑201 and ↓35+225
Comments965

Information

Rating
2,950-th
Location
Новосибирск, Новосибирская обл., Россия
Registered
Activity

Specialization

Frontend Developer
Middle
TypeScript
Angular
SCSS
Adaptive layout