Pull to refresh
4
0

Пользователь

Send message

Программирование для не-программистов. Биография джуна

Reading time14 min
Views72K
Предисловие: это рассказ о книгах для тех, кто решил изучить программирование самостоятельно. Но поскольку читать список книг было бы скучно, то я решил дополнить его своей биографией.

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

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

Как найти алгоритм работы интеллекта

Reading time4 min
Views34K
В нашем блоге мы рассказываем о виртуализации инфраструктуры и соответствующих технологиях. Почерпнуть что-то интересное можно не только из опыта работы с инфраструктурными проектами, но и из теоретических работ, направленных далеко в будущее. Сегодня мы решили взглянуть на книгу Майкла Нилсена, рассуждающего на тему алгоритмизации интеллекта.

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

На пути к физическим принципам биологической эволюции

Reading time8 min
Views7.2K
Сокращенный перевод статьи М. Кацнельсона, Ю. Вольфа и Е. Кунина

Возможна ли конвергенция физики и биологии?


Статьей, наводящей на подобные размышления, я заинтересовался с подачи астрофизика и популяризатора науки Сергея Попова. В одном из его обзоров препринтов была упомянута статья с интригующим названием, а среди авторов — Евгений Кунин. Книгу этого автора «Логика случая» я начал читать… Конечно, только отдельные разделы. Инженерное образование, занятие техническими переводами, чтение научно-популярных статей — все это довело меня до крамольной мысли — выполнить краткий перевод статьи, написанной Евгением Куниным в соавторстве с Михаилом Кацнельсоном и Юрием Вольфом.

Towards physical principles of biological evolution
Mikhail I. Katsnelson, Yuri I. Wolf, Eugene V. Koonin

arxiv.org/abs/1709.00284

Аннотация


Биологические системы достигают сложной организации, которая значительно превышает сложность любого из известных неживых объектов. Биологические сущности, несомненно, подчиняются законам квантовой физики и статистической механики. Однако, достаточно ли современной физики для адекватного описания модели и объяснения эволюции биологической сложности?
Читать дальше →

10 познавательных YouTube-каналов на английском, о которых вы никогда не слышали

Reading time7 min
Views71K
Учиться должно быть интересно, поэтому мы в EnglishDom постоянно ищем познавательные видео, которые вдохновят вас учить английский, а также подкинут свежих идей или как минимум расширят кругозор.

Мы собрали 10 по-настоящему крутых и познавательных англоязычных каналов. Самые известные и популярные мы не рассматривали, поэтому гарантируем, что все (или почти все) окажутся вам в новинку.

Отдельно мы будем указывать уровень знания английского языка, который потребуется для комфортного просмотра каналов.

3 выигрышные стратегии монетизации приложения в 2019

Reading time7 min
Views16K
image

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

Работа в немецкой компании – как подать резюме и не получить отказ?

Reading time5 min
Views16K
image

IT – одна из самых благодатных сфер для трудовой миграции. С введением в Германии системы Blue Card для высококвалифицированных специалистов кандидаты с постсоветского пространства начали конкурировать за рабочие места с программистами со всего мира. Оно и понятно: немецкая экономика по-прежнему самая сильная в Европе, а Берлину прочат звание европейской Silicon Valley.

Основные регионы, поставляющие Германии высококвалифицированные IT кадры – это постсоветские страны, Китай, Индия, Турция и США. Имидж Европы неизменно остается позитивным и ассоциируется с качеством жизни и социальным равновесием. Специалистов с (пост)советской школой ценят в Европе за прагматичность инженерного мышления, способность быстро учиться и адаптироваться к контексту (видимо обусловленных нашей социальной реальностью).

Однако, резюме соискателей — огромное препятствие на пути к работе в европейской стране. В этом смысле русскоязычные кандидаты и, скажем, американцы – полные антиподы.
Читать дальше →

Создание игры для Game Boy

Reading time15 min
Views15K
image

Несколько недель назад я решила поработать над игрой для Game Boy, создание которой доставило мне большое удовольствие. Её рабочее название «Aqua and Ashes». Игра имеет открытые исходники и выложена на GitHub.

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


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

Мне на почту пришёл еженедельный дайджест itch.io о гейм-джемах, в котором объявлялось начало Mini Jam 4. Это был 48-часовой (ну, на самом деле чуть больше) джем, в котором ограничением было создание графики в стиле Game Boy. Моей первой вполне логичной реакцией стало желание создать homebrew-игру для Game Boy. Темой джема были «времена года» и «пламя».

Немного подумав над сюжетом и механиками, которые можно реализовать за 48 часов и вписывающиеся в ограничения темы, я придумала клон новую интерпретацию уровня из игры для SNES 1993 года Tiny Toon Adventures: Buster Busts Loose!, в которой игрок в роли Бастера играет в американский футбол.

Генератор подземелий на основе узлов графа

Reading time11 min
Views29K
image

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

Введение


Алгоритм был написан как часть работы на получение степени бакалавра и основан на статье Ma et al (2014). Целью работы было ускорение алгоритма и дополнение его новыми функциями. Я вполне доволен результатом, потому что мы сделали алгоритм достаточно быстрым, чтобы использовать его во время выполнения игры. После завершения бакалаврской работы мы решили превратить её в статью и отправить на конференцию Game-ON 2018.

Алгоритм


Для создания уровня игры алгоритм получает в качестве входных данных набор полигональных строительных блоков и граф связности уровня (топологию уровня). Узлы графа обозначают комнаты, а рёбра определяют связи между ними. Цель алгоритма — назначить каждому узлу графа форму и расположение комнаты таким образом, чтобы никакие две формы комнат не пересекались, и каждая пара соседних комнат могла соединяться дверьми.

Крупнейший дамп в истории: 2,7 млрд аккаунтов, из них 773 млн уникальных

Reading time3 min
Views159K


Известный специалист по безопасности Трой Хант уже несколько лет поддерживает сайт Have I Been Pwned (HIBP) с миллионами записей об украденных аккаунтов. Каждый может проверить там свой email на предмет утечки. Трой Хант следит за хакерскими форумами, покупает базы данных, которые выставляют на продажу, иногда эти базы присылают ему бесплатно. Но он никогда не видел, чтобы на продажу выставляли такую огромную базу, как нынешняя Коллекция № 1 (Collection #1).

Гигантский архив содержит 2 692 818 238 записей с адресами электронной почты и паролями.

Модернизация IDA Pro. Отладчик для Sega Mega Drive (часть 1)

Reading time23 min
Views9.3K


Приветствую!


Товарищи реверсеры, ромхакеры: в основном эта статья будет посвящена вам. В ней я расскажу вам, как написать свой плагин-отладчик для IDA Pro. Да, уже была первая попытка начать рассказ, но, с тех пор много воды утекло, многие принципы пересмотрены. В общем, погнали!

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

Прикручиваем мультиплеер к мобильной игре «Составь слова из слова» на iOS и Android, написанной на C++

Reading time8 min
Views4.7K
Ранее я уже писал о своем опыте разработки мобильной словесной игры на Android и iOS, которая пользуется определенной популярностью, и я решил прикрутить к ней режим мультиплеера, когда два игрока соревнуются между собой, составляя слова по очереди, как заключительном раунде телепередачи Сергея Супонева «Звездный час».



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

Возможно, я жива только из-за неё: почему пациенты с апноэ полагаются на программу, написанную хакером

Reading time11 min
Views64K

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




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

«Я не подходила ни под одно из описаний симптомов апноэ, — рассказала она мне по телефону. – Я женщина, у меня нет лишнего веса. Никому не приходило в голову проверить меня, кроме одного доктора, у которого была сходная история болезни».

Линн, живущая в сельской местности Аризоны, провела дома пульсоксиметрию, измеряющую уровень кислорода в крови, а потом прошла исследование сна. Ей поставили диагноз апноэ, заболевания, из-за которого пациенты внезапно перестают дышать во сне на некоторое время, и которое чаще всего преследует мужчин с лишним весом. Ей выдали СИПАП-машину (аппарат для искусственной вентиляции лёгких постоянным положительным давлением) с маской – это устройство задувает воздух в дыхательное горло, чтобы воздушные пути оставались открытыми – и отправили домой.
Читать дальше →

Дональд Кнут: «3:16» — книга про Библию (72,73,74/97)

Reading time9 min
Views19K
«Я бы прочитал книгу теолога о программировании.»
— Дональд Кнут

На Youtube есть серия из коротких 97 роликов, где Дональд Кнут рассказывает про свою жизнь. Пару лет назад я начал публиковать самые интересные моменты, а вот сейчас решил продолжить знакомить читателей с образом мыслей и способом принятия решений «самого великого программиста всех времен и народов».

image


«3:16» — это книга, которая отличается от любой другой книги, которая когда-либо была написана. Я полагаю, что наконец-то созрел, чтобы написать такую книгу. Во всяком случае, 3:16 — это изучение Библии в другом ракурсе, не имеющее аналогов. Попробую пояснить.

Для ученых из области компьютерных наук естественно изучать сложные вещи, разбивая их на множество простых вещей и затем исследовать случайно выбранную часть. Таким образом, собирая несколько частей, они имеют представление в целом. Это похоже на опрос Гэллапа.

72



Взяв интервью у тысячи человек, вы знаете, что думают миллионы людей. Я использую выборку при исследовании документов. Если кто-то дает мне курсовую, и у меня нет времени, чтобы прочитать все 50 страниц курсовой работы, я буду выбирать случайную страницу и делать соответствующие выводы. Студент не знает заранее, какую страницу я собираюсь проверить. Таким образом, отбор проб это то, чем занимается компьютерный ученый.

Однажды, в 70-е, я задался вопросом, а что если я таким образом «исследую» Библию?

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

Как прокачать свою карьеру через GitHub

Reading time4 min
Views12K
GitHub – крупнейшая библиотека, созданная разработчиками для разработчиков. Главная прелесть хостинга в его идеологии: отдавать также легко, как и получать. Здесь можно найти самые разные IT-проекты как легальные, так и не совсем. Пользуясь открытостью, кто-то роется в исходниках в корыстных целях – чтобы потом использовать их уязвимости для банального шантажа, а кто-то с помощью репозиториев прокачивает свои профессиональные скилы. Давайте разберемся, как не закопаться в миллионах источников и какие перки можно заполучить.

То, что знания не принадлежат лишь узкому кругу избранных, уже признают и транснациональные корпорации. На основе одного исходного кода вырастает несколько новых – так и развиваются технологии, которыми в итоге начинает пользоваться весь мир. Такие гиганты, как Apple, Google, Facebook, Microsoft – разместили и продолжают постоянно обновлять свои репозитории на GitHub. Да что уж, если даже Министерство обороны США заводит хранилище на хостинге https://github.com/Code-dot-mil/code.mil с лозунгом «Помогите нам стать лучше». И каждое новое предложенное полезное решение – это очередной выученный урок в карьере разработчика.

Формат open-source проектов хорош тем, что позволяет участникам общаться также, как мы делаем это в социальных сетях. Помните про принцип соревновательности! К примеру, некто постит вариант реализации идеи. Другие участники, на интересе, либо желая покуражиться предлагают хаки. В итоге – сообщество плюсует авторам лучших решений.

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

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

Ученый из Китая заявил о рождении генетически модифицированных детей

Reading time2 min
Views30K


Сегодня появилась интересная новость — китайский ученый Цзянькуй Хэ заявил о появлении на свет первых в мире детей с модифицированным геномом. Ученый утверждает, что изменил геном эмбрионов таким образом, чтобы сделать организм будущих людей устойчивым к ВИЧ. Заявление ученый сделал в эксклюзивном интервью новостному агентству Associated Press.

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

Разрабатываем свой браузер с нуля. Часть первая: HTML

Reading time15 min
Views64K


Всем привет!


Продолжаем цикл статей по разработке браузерного движка.


В данной статье я расскажу как создать самый быстрый HTML-парсер c DOM. Мы рассмотрим HTML спецификацию и чем она плоха относительно производительности и потребления ресурсов при разборе HTML.


С данной темой я докладывался на прошедшем HighLoad++. Конференцию не каждый может посетить, плюс в статье больше деталей.


Я предполагаю, что читатель обладает базовыми знаниями об HTML: теги, ноды, элементы, пространство имён.

И так, начнём!

Введение в октодеревья

Reading time31 min
Views40K


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

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

Знай сложности алгоритмов

Reading time2 min
Views1.1M
Эта статья рассказывает о времени выполнения и о расходе памяти большинства алгоритмов используемых в информатике. В прошлом, когда я готовился к прохождению собеседования я потратил много времени исследуя интернет для поиска информации о лучшем, среднем и худшем случае работы алгоритмов поиска и сортировки, чтобы заданный вопрос на собеседовании не поставил меня в тупик. За последние несколько лет я проходил интервью в нескольких стартапах из Силиконовой долины, а также в некоторых крупных компаниях таких как Yahoo, eBay, LinkedIn и Google и каждый раз, когда я готовился к интервью, я подумал: «Почему никто не создал хорошую шпаргалку по асимптотической сложности алгоритмов? ». Чтобы сохранить ваше время я создал такую шпаргалку. Наслаждайтесь!
Читать дальше →

Как создать процедуральный арт менее чем за 100 строк кода

Reading time6 min
Views24K


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

Как создать Roguelike

Reading time19 min
Views78K
image

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

У меня есть довольно большой опыт — в течение последних семи лет я работал только в этом жанре (Cogmind, Cogmind 7DRL, POLYBOT-7, REXPaint, X@COM), и в течение последних пяти эта работа была моей основной. К тому же, все эти годы я помогал превращению r/RoguelikeDev в крупнейшее сетевое сообщество разработчиков roguelike.

Information

Rating
7,207-th
Registered
Activity