Search
Write a publication
Pull to refresh
3
0.4

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

Send message

Изучаем Bootmgr. Часть 1 — инструментарий и основные принципы отладки начальных этапов загрузки ОС Windows

Reading time12 min
Views52K

Введение


Возможно некоторые читатели помнят мою самую первую статью на ресурсе, посвященную загрузке Windows с VHD-образа. Возможно я бы и не вернулся к этой теме, если бы не нашлись люди, попытавшиеся повторить данную технологию на своих домашних машинах. Естественно, с реализацией этого решения возникли проблемы, касающиеся в основном тех ошибок, которые выплевывает bootmgr в тех случаях, когда ему что либо не нравится. Попытки интерпретации ошибок загрузки вроде 0xc03a0003 путем гугления к особо ценным результатам не приводят, а документация Microsoft на этот счет хранит многозначительное молчание. Возникла идея изучить процесс обработки VHD-образов, получив информацию из первых рук, то есть от самого загрузчика.


Если обратится к уже имеющейся в сети информации, то существует замечательный блог "Записки эникейщика о Windows" на страницах которого (раз, два и три) размещены, на мой взгляд, самые ценные сведения, по вопросам устройства bootmgr. Автор подробно рассмотрел процесс загрузки, включая исследования кода MBR и PBR, остановившись на структуре bootmbr, кратко описав происходящие при его работе процессы.


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

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

Скорочтение: работает или нет? Часть 2: разбор методик

Reading time8 min
Views53K
Краткое содержание первой части: скорочтение – это набор разных механик, которые [в некоторых случаях] помогают получать информацию из текста быстрее, чем при обычном чтении. Тем не менее, даже скорочтение не поможет читать с «пулеметной» скоростью – ваши способности возрастут, но вряд ли превысят 500-600 слов в минуту (среди комментаторов к предыдущей части материала, правда, были и те, кому удалось развить скорость чтения и до 700 слов в минуту). Большинство громких заявлений скорочтецов, ставивших мировые рекорды в тысячи слов в минуту, – не более чем самореклама и неподтвержденные данные (исключение – «человек дождя» Ким Пик).

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

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

Архитектура и алгоритмы индексации аудиозаписей ВКонтакте

Reading time8 min
Views38K


Расскажем о том, как устроен поиск похожих треков среди всех аудиозаписей ВКонтакте.

Зачем всё это надо?


У нас действительно много музыки. Много — это больше 400 миллионов треков, которые весят примерно 4 ПБ. Если загрузить всю музыку из ВКонтакте на 64 ГБ айфоны, и положить их друг на друга, получится башня выше Эйфелевой. Каждый день в эту стопку нужно добавлять еще 25 айфонов — или 150 тысяч новых аудиозаписей объёмом 1.5 ТБ.

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

Если научиться достаточно точно находить одинаковые (или очень похожие) аудиозаписи, можно применять это с пользой, например:

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

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

Reedy – Скорочтение, которое действительно можно использовать

Level of difficultyEasy
Reading time9 min
Views245K
Reedy – продвинутая реализация технологии скоростного чтения

В последнее время наблюдается рост интереса к скорочтению на основе технологии RSVP. Однако большинство приложений и расширений на эту тему, при более близком знакомстве, увы, оказываются не очень удобны для ежедневного использования. А ведь в потенциале они могу помочь значительно экономить время и быстрее получать информацию. Мой друг OlegCherr решил доработать технологию, создав реализацию пригодную для постоянного использования, а я ему в этом помогаю. После двух месяцев постоянной практики чтения, тестирования, исследований и улучшений решил написать статью с разбором того, что получилось в результате, потому что результат, смею считать, будет интересен и другим. На текущий момент всё выполнено в виде расширения к браузеру Chrome и названо Reedy. Приложение под Android на подходе.
Подробности

Скорочтение: работает или нет? Часть 1

Reading time8 min
Views98K
Можно ли прочесть «программу на лето» за неделю и изучить рекомендованную литературу к экзамену за одну ночь? Разбираемся в вопросе, который всегда был актуален для студентов.

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

Интересные вопросы на знание C# и механизмов .NET

Reading time4 min
Views36K
Предлагаю Вам ряд вопросов по C# и .NET в целом, которые могут пригодиться для проведения собеседования или просто помогут лучше понять, как работает платформа .NET. Здесь не будет обычных вопросов о том, чем отличаются ссылочные типы от значимых и тп. Я постарался выбрать самые интересные, над которыми стоит задуматься.
Читать дальше →

Как обойти блокировки сайтов, не направляя весь трафик через VPN

Reading time3 min
Views122K
Обход блокировок — насущная необходимость. Возможно, сегодня в вашей стране заблокировали ресурсы, которые вы не так часто посещали, однако мир нестабилен и завтра в списке могут оказаться ваши любимые сайты и приложения.

На Хабре, да и не только на нем, есть множество инструкций, как обойти блокировки с помощью VPN, в частности, с помощью OpenVPN, есть и прекрасные пошаговые консольные скрипты установки OpenVPN. Однако чаше всего подобные инструкции подразумевают, что в результате весь интернет-трафик будет идти через VPN-соединение, что может быть неудобным по ряду причин. И в этом коротком посте я хотел рассказать, как настроить OpenVPN Access Server и обычный OpenVPN для обслуживания только заблокированных ресурсов.
Читать дальше →

ТОП-9 YouTube-каналов для изучения английского языка

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

// "Enjoy the Content" — from author with Love 
Читать дальше →

Лекции Техносферы: Программирование на Go

Reading time2 min
Views54K

image


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


Список лекций:


Как рассказывать о себе на собеседовании

Reading time9 min
Views73K

Когда меня спрашивают, что в первую очередь нужно знать о прохождении технического собеседования, я всегда отвечаю одинаково: приготовьтесь говорить.

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

Переведено в Alconost

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

Как учить по 100 английских слов в день

Reading time6 min
Views197K


Словарный запас многое решает. Знаешь слова — понимаешь, о чем речь, даже не зная тонкостей грамматики. Не знаешь слова — общаешься, как Эллочка-людоедка. Сегодня говорим о том, как запоминать много и надолго.
Читать дальше →

12 инструментов для отладки .NET-приложений по производительности и по памяти

Reading time7 min
Views22K
В недавнем интервью с Джоном Скитом мы пришли к выводу, что профессиональная работа с любой технологией подразумевает умение диагностировать проблемы и понимать, как ваши приложения работают под капотом. Вдогонку к тому разговору, я узнал у Саши goldshtn Гольдштейна, одного из лучших в мире экспертов по производительности .NET, автора книги «Pro .NET Performance», на какие инструменты следует обратить внимание .NET-разработчикам.

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


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

История одного программиста

Reading time5 min
Views52K
Я программист, 24 года. Рост 170. Параметры 90-60-90. Хочу поделиться опытом с институтских времен. На что нужно обращать внимание в процессе обучения (исходя из моих наблюдений), что может пригодиться в будущем. Расскажу, в какие моменты и какой прогресс наблюдался. Как не опускать руки, если скучно учиться, и в чем искать мотивацию.

image

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

Программировать с нуля. «Сейчас» — самое подходящее время, чтобы начать

Reading time7 min
Views365K

(Иллюстрации к статье А.П. Ершова «Программирование — вторая грамотность»)

Стив Джобс не написал ни строчки кода, Билл Гейтс — написал. Пол Грэм — первоклассный программист, Питер Тиль — юрист по образованию, сооснователь PayPal и владелец Palantir (написал ли он что-нибудь?), а Илон Маск в детстве написал свою игру и успешно её продал.

Никита truesnow из #tceh сказал мне, что на курсе «Врубаемся в Ruby» они научат программировать любого человека, даже с нуля. Я спросил его: «А с гуманитарием справитесь?» И мы задумались, были ли случаи, когда «гуманитарий» выучил язык программирования?

На ум сразу пришел бомж-программист, но после успеха с его приложением он предпочёл остаться «дзен-монахом». Есть ли еще примеры? Вдохновляющий пример, что научиться кодить может каждый — слепой программист. Когда я прочитал статью на Хабре «Смотря на код с закрытыми глазами», то понял, что нет преград, кроме собственных отмазок.

А у меня для вас есть три истории из моей жизни. Просто три истории.

История первая — ламер


Слово «ламер» я прочитал в «Компьютерре». Там давалось такое определение: «Ламер — отнюдь не безграмотный человек, не умеющий (как бы это помягче выразиться?) программировать». Окрылённый истиной я побежал и рассказал об этом друзьям-одноклассникам, но они предпочли поиграть в футбол, вместо того чтобы освоить суперспособности. Забавно, что потом все они зарабатывали программированием деньги, а я нет. Через неделю я записался в краевую станцию юных техников (КСЮТ), где был кружок по программированию. Там для новичков давали qbasic. А боги прогали на C.
Читать дальше →

50+ полезных ресурсов для самообучения

Reading time6 min
Views124K
learning

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

Нейросети для чайников. Начало

Reading time5 min
Views810K


Так получилось, что в университете тема нейросетей успешно прошла мимо моей специальности, несмотря на огромный интерес с моей стороны. Попытки самообразования несколько раз разбивались невежественным челом о несокрушимые стены цитадели науки в облике непонятных «с наскока» терминов и путанных объяснений сухим языком вузовских учебников.

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

Заинтересовавшихся прошу под кат.
Читать дальше →

Подборка подкастов по программированию на русском и английском языках

Reading time7 min
Views182K
Всем привет! В этой статье собраны одни из лучших подкастов по программированию как на русском так и на английском языках, которые позволят вам быть всегда в курсе последних новостей.

Подкасты представляют собой звуковые файлы, которые можно слушать в любое время на вашем компьютере или другом устройстве (IPod, IPad, смартфон и т.д.). Это самый портативный способ потреблять контент и узнавать что-то новое. Популярность подкастов росла на протяжении многих лет и теперь они охватывают очень широкий круг вопросов.

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

Математика на пальцах: давайте посчитаем хотя бы один ряд Фурье в уме

Reading time6 min
Views91K

Нужно ли вам читать этот текст?


Давайте проверим. Прочтите следующее:

Тригонометрическим рядом Фурье функции  называют функциональный ряд вида



где







Страшно, но всё же хочется понять, что это значит?


Значит, вам под кат. Постараюсь формул не использовать.
Читать дальше →

Математика для искусственных нейронных сетей для новичков, часть 1 — линейная регрессия

Reading time8 min
Views157K
Оглавление

Часть 1 — линейная регрессия
Часть 2 — градиентный спуск
Часть 3 — градиентный спуск продолжение

Введение


Этим постом я начну цикл «Нейронные сети для новичков». Он посвящен искусственным нейронным сетям (внезапно). Целью цикла является объяснение данной математической модели. Часто после прочтения подобных статей у меня оставалось чувство недосказанности, недопонимания — НС по-прежнему оставались «черным ящиком» — в общих чертах известно, как они устроены, известно, что делают, известны входные и выходные данные. Но тем не менее полное, всестороннее понимание отсутствует. А современные библиотеки с очень приятными и удобными абстракциями только усиливают ощущение «черного ящика». Не могу сказать, что это однозначно плохо, но и разобраться в используемых инструментах тоже никогда не поздно. Поэтому моей первичной целью является подробное объяснение устройства нейронных сетей так, чтобы абсолютно ни у кого не осталось вопросов об их устройстве; так, чтобы НС не казались волшебством. Так как это не математический трактат, я ограничусь описанием нескольких методов простым языком (но не исключая формул, конечно же), предоставляя поясняющие иллюстрации и примеры.

Цикл рассчитан на базовый ВУЗовский математический уровень читающего. Код будет написан на Python3.5 с numpy 1.11. Список остальных вспомогательных библиотек будет в конце каждого поста. Абсолютно все будет написано с нуля. В качестве подопытного выбрана база MNIST — это черно-белые, центрированные изображения рукописных цифр размером 28*28 пикселей. По-умолчанию, 60000 изображений отмечены для обучения, а 10000 для тестирования. В примерах я не буду изменять распределения по-умолчанию.
Читать дальше →

Как я стал радиолюбителем и зарегистрировал своё первое РЭС

Reading time4 min
Views64K


Хочу рассказать вам свою историю, как сам того не ожидая, стал радиолюбителем 3 категории.

Я заядлый рыбак и поохотиться не прочь. Еще с детства мой отец посвятил меня во все тонкости охоты и рыбалки, брал меня с собой и в Астрахань, и в Сибирь периодически.

В очередной раз с приятелем мы махнули к родне, в прекрасный город Братск. Мой дядя настоящий сибиряк и знаток тех таёжных краёв. Чтоб координировать свои действия, решили мы купить себе рации. Я остановил свой выбор на недорогом китайском аппарате. Спецы говорят, что и цена нормальная, и качество связи сносное. Ну я её на «али» и заказал.
Читать дальше →

Information

Rating
3,427-th
Location
Россия
Registered
Activity

Specialization

Fullstack Developer, Web Developer
Middle