Pull to refresh
2
0
Александр Карамах @Karamax

Программист

Send message

Выжить в лобовом столкновении, и почему амнезия это не то, что вы думаете

Reading time11 min
Views79K
Привет Хабр.

Не так давно я попала в автокатастрофу, и на своём личном опыте испытала, что такое переломанные кости, тяжёлая черепно-мозговая травма и потеря памяти. В статье я также хочу поговорить о заблуждениях о симптоме амнезии в современной массовой культуре. Область довольно запутанная и противоречивая, но мне всё же захотелось структурировать известные данные и поделиться личным опытом.
Читать дальше →
Total votes 301: ↑297 and ↓4+293
Comments165

GitHub Package Registry будет поддерживать пакеты Swift

Reading time1 min
Views2.2K
10 мая мы запустили ограниченный бета-тест GitHub Package Registry, службы управления пакетами, которая позволяет легко публиковать публичные или частные пакеты рядом с исходным кодом. В настоящее время сервис поддерживает знакомые инструменты управления пакетами: JavaScript (npm), Java (Maven), Ruby (RubyGems), .NET (NuGet), образы Docker, а также многое другое.

Рады анонсировать, что добавим поддержку пакетов Swift в GitHub Package Registry. Пакеты Swift позволяют легко делиться вашими библиотеками и исходным кодом в собственных проектах и с сообществом Swift. Работать над этим мы будем в партнерстве с ребятами из Apple.

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

Habr Special // Подкаст с автором книги «Вторжение. Краткая история русских хакеров»

Reading time10 min
Views7.4K
image

Habr Special — подкаст, в который будем приглашать программистов, писателей, ученых, бизнесменов и других интересных людей. Гость первого выпуска — Даниил Туровский, спецкор Медузы, который написал книгу «Вторжение. Краткая история русских хакеров». В книге 40 глав, которые рассказывают о том, как зарождалось русскоязычное хакерское сообщество сначала в позднем СССР, а затем и в России, и во что это вылилось теперь. На сбор фактуры у автора ушли годы, а вот на выпуск — всего несколько месяцев, что по меркам издательств очень быстро. С разрешения издательства Individuum мы публикуем отрывок книги, а в этом посте — расшифровка самого интересного из нашего разговора.
Total votes 24: ↑23 and ↓1+22
Comments9

JVM TI: как сделать плагин для виртуальной машины

Reading time18 min
Views8K


Хотели бы вы добавить в JVM какую-нибудь полезную фичу? Теоретически каждый разработчик может внести свой вклад в OpenJDK, однако на практике любые нетривиальные изменения в HotSpot принимают со стороны не очень-то охотно, и даже с текущим укороченным релизным циклом могут пройти годы, прежде чем вашу фичу увидят пользователи JDK.

Тем не менее, в ряде случаев расширить функциональность виртуальной машины реально, даже не трогая её код. В этом помогает JVM Tool Interface — стандартный API для взаимодействия с JVM.

В статье я на конкретных примерах покажу, что можно сделать с его помощью, расскажу, что изменилось в Java 9 и 11, и честно предупрежу о сложностях (спойлер: придётся иметь дело с C++).

Этот материал я также рассказывал на JPoint. Если вам удобнее видео, то можете посмотреть видеозапись доклада.
Читать дальше →
Total votes 43: ↑43 and ↓0+43
Comments4

Автоматизация Для Самых Маленьких. Часть первая (которая после нулевой). Виртуализация сети

Reading time16 min
Views44K
В предыдущем выпуске я описал фреймворк сетевой автоматизации. По отзывам у некоторых людей даже этот первый подход к проблеме уже разложил некоторые вопросы по полочкам. И это очень меня радует, потому что наша цель в цикле — не обмазать питоновскими скриптами анзибль, а выстроить систему.

Этот же фреймворк задаёт порядок, в котором мы будем разбираться с вопросом.
И виртуализация сети, которой посвящён этот выпуск, не особо укладывается в тематику АДСМ, где мы разбираем автоматику.

Но давайте взглянем на неё под другим углом.

Уже давно одной сетью пользуются многие сервисы. В случае оператора связи это 2G, 3G, LTE, ШПД и B2B, например. В случае ДЦ: связность для разных клиентов, Интернет, блочное хранилище, объектное хранилище.

И все сервисы требуют изоляции друг от друга. Так появились оверлейные сети.

И все сервисы не хотят ждать, когда человек настроит их вручную. Так появились оркестраторы и SDN.

Первый подход к систематической автоматизации сети, точнее её части, давно предпринят и много где внедрён в жизнь: VMWare, OpenStack, Google Compute Cloud, AWS, Facebook.

Вот с ним сегодня и поразбираемся.


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

Yandex Retro Games Battle 2019 — разрабатываем игры для ZX Spectrum

Reading time3 min
Views19K
Привет! Меня зовут Дмитрий Пугачев, я помогаю развивать музей Яндекса, в котором наша команда собирает редкие и интересные экземпляры вычислительной техники. Недавно мы приглашали читателей Хабра посетить наш музей в рамках акции «Ночь музеев». Честно говоря, мы не ожидали, что из желающих зайти к нам в гости выстроится очередь «как за новым айфоном», а два геймпада и вовсе отправятся на ремонт после турнира по Mortal Kombat. И это вдохновило нас!

Сегодня я расскажу о нашей новой инициативе, ориентированной на сообщество любителей ретро-игр, — о конкурсе по разработке игр для легендарного ZX Spectrum. Насколько это актуально? В чём особенности именно этого устройства? Предлагаю вспомнить и обсудить.


Читать дальше →
Total votes 72: ↑69 and ↓3+66
Comments97

Погружение в свёрточные нейронные сети. Часть 5 / 1 — 9

Reading time19 min
Views32K

Полный курс на русском языке можно найти по этой ссылке.
Оригинальный курс на английском доступен по этой ссылке.



Выход новых лекций запланирован каждые 2-3 дня.

Читать дальше →
Total votes 28: ↑27 and ↓1+26
Comments2

Как опубликовать консольную утилиту на PyPI за 1 минуту

Reading time2 min
Views8.7K


Разработав консольную утилиту, вы решаетесь опубликовать её на PyPI. Ну правда, что может быть лучше, чем сделать её доступной через pip install? Погуглив, что для этого надо, вы, возможно, наткнётесь на единственный найденный мной пост по теме, который мало того что от 2014 года, так ещё и требует от вас создать кучу папок и файлов для совершенно ненужных (вам) вещей.


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

Читать дальше →
Total votes 44: ↑42 and ↓2+40
Comments1

Telegram-бот в качестве подарка

Reading time19 min
Views43K
Привет, Хабр! Сегодня я хочу рассказать о том, как писал Telegram-бота, да не простого, а подарочного. Прошу под кат тех, кому эта история кажется забавной, а также тех, кто пытается писать своих Telegram-ботов на Java. Возможно, мой небольшой опыт будет в чем-то полезен.
Читать дальше →
Total votes 24: ↑21 and ↓3+18
Comments13

Telegram. Безлимитный сетевой диск. Бесплатный

Reading time3 min
Views186K
Привет, Хабр.

Наверняка многие об этом задумывались, возможно у кого то эта идея лежит в TODO. У меня она пролежала примерно год, но таки удалось ее реализовать в виде работающего прототипа.

TgCloud:


  • Виртуальная файловая система с открытым исходным г****кодом.
  • На локальном диске — только метаданные: имена, размер, структура папок и т.д.
  • Данные хранятся в Telegram и загружаются только при работе с файлом
  • Размер и тип файлов не ограничен, можно использовать с любой ОС

Подробности реализации и ссылка на репозиторий под катом.
Читать дальше →
Total votes 211: ↑175 and ↓36+139
Comments232

Мелкая питонячая радость #4: Radon — качество кода, измеренное в числах

Reading time3 min
Views12K

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



Метрик для оценки текстов программ придумали немало — от банального количества строк кода в проекте до не столь очевидного "индекса поддерживаемости" (Maintainability Index). Подробно про все существующие способы обмазывания кода всякими метриками можно почитать в этой статье.


В мире Python, конечно же, есть своя штука для оценки качества кода. Она называется radon. Она написана на этом же самом Python и работает исключительно с питонячими файлами.

Читать дальше →
Total votes 30: ↑28 and ↓2+26
Comments2

WSL 2 теперь доступен для Windows Insiders

Reading time3 min
Views32K
Мы рады рассказать, что теперь вы можете попробовать Windows Subsystem for Linux 2 установив Windows build 18917 в Insider Fast ring! В этой статье мы расскажем о том, как начать работу, о новых wsl.exe командах, а также поделимся важными заметками. Полная документация о WSL 2 доступна на странице в нашей документации.

Читать дальше →
Total votes 38: ↑35 and ↓3+32
Comments18

Стэнфордские курсы «Разработка iOS приложений» — неавторизованный конспект лекций на русском языке и 2015?

Reading time5 min
Views50K


Я разместила иконки курсов Стэнфордского университета по разработке приложений на iOS в обратном хронологическом порядке. На первом месте стоит иконка Swift — нового языка программирования для создания приложений на iOS, объявленного на WWDC 2014. Кроме Swift реализована новая версия iOS — iOS 8. Уже известно, что Стэнфордский университет запустит зимой 2015 года новый курс CS193P с неизвестным пока названием (может быть будет что-то вроде «Developing iOS 8 Apps for iPhone and iPad»). Лектор тот же — профессор Paul Hegarty.
В традиции Стэнфорда выкладывать курс CS193P на iTunes U в виде бесплатного курса обучения, но делают это они со сдвигом во времени, чтобы не мешать платному обучающему процессу, так что в феврале-марте 2015 года (как это было в 2013 году) можно ожидать постепенное появление лекций на iTunes U. Так что время есть.
Я прошла почти все курсы профессора Пола Хэгарти — от iOS 5 до iOS 7 — до самого конца (смотри Github ).
Для подготовки к перспективному курсу по iOS 8 разместила на своем сайте «Разработка iOS приложений» неавторизованные конспекты лекций, тексты домашних заданий и примеры их решения на русском языке для последнего доступного в настоящее время обучающего курса «Developing iOS 7 Apps for iPhone and iPad», запущенного Стэнфордским университетом в семестре «осень 2013 — зима 2014 года» на iTunes U.

Читать дальше →
Total votes 21: ↑16 and ↓5+11
Comments7

Делить на ноль — это норма. Часть 1

Reading time9 min
Views221K
Часть 1. Вобще-то уже все поделили до нас!
Часть 2. Истина где-то рядом

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


Читать дальше →
Total votes 106: ↑98 and ↓8+90
Comments102

Сериал «Чернобыль»: смотреть и думать

Reading time9 min
Views200K
Горький опыт сериалов, которые хорошо начинаются и разочаровывающе заканчиваются, удерживал меня от написания восторженного обзора на сериал «Чернобыль» до этой недели. И сейчас, когда вышла последняя, пятая серия, к сожалению, я вынужден сказать, что это отличный сериал, это прекрасный повод узнать больше о чернобыльской катастрофе, его обязательно стоит посмотреть, если вы еще не, но, если первые три серии, на мой взгляд, поднимаются до уровня моего самого любимого фильма «Аполлон-13», то две последние, опять же, по моему мнению, оказываются заметно похуже.


Кадр из сериала

Под катом спойлеры, как бы странно это не звучало для базирующегося на реальной истории сериала.
Total votes 189: ↑164 and ↓25+139
Comments797

Project Athena — переизобретая ноутбук

Reading time2 min
Views18K


За последние десятилетия Intel много сделала для мобильной компьютерной техники. Можно сказать, это был один из основных векторов ее деятельности — повышение удельной энергоэффективности процессоров, усовершенствование проводных и беспроводных интерфейсов и многое-многое другое. Тут же можно вспомнить, скажем, об ультрабуках — комплексном воплощении мобильности с точки зрения Intel. Но вот теперь у этого воплощения появилось новое имя — Project Athena. Ноутбук, придуманный заново.
Читать дальше →
Total votes 24: ↑21 and ↓3+18
Comments42

Советские мечты о будущем

Reading time9 min
Views93K


Помните очаровательного котика, которые чихал в заставке советского мультфильма? Мы помним, и нашли его — вместе с ворохом другой рисованной фантастики. В детстве она пугала и обескураживала, поскольку поднимала серьезные, взрослые темы. Настала пора пересмотреть старые мультфильмы, чтобы узнать, о каком будущем мечтали в той стране.
Total votes 138: ↑136 and ↓2+134
Comments144

Восстановление расфокусированных и смазанных изображений

Reading time10 min
Views222K
Восстановление искаженных изображений является одной из наиболее интересных и важных проблем в задачах обработки изображений – как с теоретической, так и с практической точек зрения. Частными случаями являются размытие из-за неправильного фокуса и смаз – эти дефекты, с которым каждый из вас хорошо знаком, очень сложны в исправлении – именно они и выбраны темой статьи. С остальными искажениями (шум, неправильная экспозиция, дисторсия) человечество научилось эффективно бороться, соответствующие инструменты есть в каждом уважающем себя фоторедакторе.

Почему же для устранения смаза и расфокусировки практически ничего нету (unsharp mask не в счет) – может быть это в принципе невозможно? На самом деле возможно – соответствующий математический аппарат начал разрабатываться примерно 70 лет назад, но, как и для многих других алгоритмов обработки изображений, все это нашло широкое применение только в недавнее время. Вот, в качестве демонстрации вау-эффекта, пара картинок:



Я не стал использовать замученную Лену, а нашел свою фотку Венеции. Правое изображение честно получено из левого, причем без использования ухищрений типа 48-битного формата (в этом случае будет 100% восстановление исходного изображения) – слева самый обычный PNG, размытый искусственно. Результат впечатляет… но на практике не все так просто. Под катом подробный обзор теории и практические результаты.
Осторожно, много картинок в формате PNG!
Читать дальше →
Total votes 291: ↑289 and ↓2+287
Comments93

Древности: ThinkPad 380E, эконом-класс 90-х и Windows 95

Reading time8 min
Views18K
Коллекционирование старой техники может быть слегка нечестным к реалиям времени, которое пытаешься изучить. Большинство винтажных ноутбуков на старте продаж стоили или дорого (ThinkPad 600, ThinkPad T22) или очень дорого (ThinkPad X301). Если бы в те времена я не был беззаботно беден, я бы наверное такие устройства не покупал. Мы ведь всегда пытаемся найти компромисс между ценой и качеством, и не тратим деньги на технологии, которые было бы прикольно попробовать, но они вовсе не обязательны.


Ноутбук, про который я хотел бы рассказать сегодня — это эконом-класс 1997 года. В меру мощный, в меру мобильный, но заметно уступающий флагманам. В прошлом году я купил IBM ThinkPad 380E в идеальном состоянии, с живым жестким диском и аккумуляторной батареей. Кажется, его никогда не вскрывали, и там до сих пор установлена оригинальная Windows 95 со всеми утилитами. Давайте посмотрим и на ноутбук, и на эту первую по-настоящему современную Windows. И решим, соответствует ли ее надежность всем тем анекдотам, что про нее рассказывали.
Total votes 39: ↑39 and ↓0+39
Comments28

Заканчивая 4 год обучения на программиста, я понимаю, что до программиста мне далеко

Reading time5 min
Views20K
Статья в первую очередь направлена на молодых людей, которые еще только думают выбрать профессию.

Предисловие


В уже, как нам кажется, далеком 2015 я окончил школу и начал раздумывать о том, кем же я хочу стать в этой жизни. (хороший вопрос, я все еще ищу на него ответ) Жил я в маленьком городишке, обычные школы, пару ПТУ и филиал простенького университета. Окончил музыкальную школу, играл на протяжении всей школьной жизни в театре, но после 11 класса дернуло встать на техническую тропу. Стать программистом я не хотел, хотя и отучился в классе с упором на информатику, смотрел специальности связанные с проектированием или робототехникой. Подал заявления куда смог, съездил в военное училище, понял, что не мое. Остался на выбор 2 университета, была не была, поеду в Питер.
Читать дальше →
Total votes 36: ↑25 and ↓11+14
Comments56

Information

Rating
Does not participate
Location
Екатеринбург, Свердловская обл., Россия
Date of birth
Registered
Activity