суббота, 29 сентября 2012 г.

О хакерах: Linux и хобби для настоящих программистов


В этой статье я хочу написать о хакерах. О людях по-настоящему увлекающихся своим делом и их удивительных творениях. Ведь это особый способ самовыражения не менее глубокий и интересный, чем художественная проза или живопись. В данном случае программирование - искусство.
 Сегодня я расскажу о нескольких выдающихся хакерах и просто интересных людях: Коне Коливасе(Con Kolivas), Фабрисе Белларде(Fabrice Bellard) и Дмитрие Гринберге(Dmitry Grinberg).

 Фото с обложки отсюда:http://www.cnews.ru/news/top/index.shtml?2008/07/30/310053

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


Дмитрий Гринберг 
Незаурядный товарищ родом из России, который сделал несколько выдающихся интересностей, а именно эмулятор ядра Cortex-M0 на восьмибитном микропроцессоре AVR. Но это ещё не всё... Он подключил память и SD-карту к AVR и загрузил на нём Linux. Видео прилагается.



 Особо интересующихся прошу на сайт автора.

Кон Коливас
 Один из бывших разработчиков ядра Linux, известный тем, что создал новый альтернативный планировщик для вышеупомянутой системы(см.Brain Fuck Scheduler). Дальше я приведу перевод интервью(полная версия тут)

"APC: Так значит проблемы производительности в Линукс на десктоп-системе стали для тебя главным мотиватором?
Да. Я начал с улучшения Линукса на десктопе, думая - «если я могу контролировать весь софт, я смогу заставить работать его быстрее». Должен же быть путь настроить, оптимизировать и добиться лучшей производительности. Возможности что-то улучшить в области работы пользователя были очень ограничены, когда я начал работать с Линуксом. Он вообще едва работал на десктопе, и попытка улучшить что-то с целью ускорения, приводила к тому, что вообще ничего не работало. Наследие Unix было налицо. Мы приспосабливали операционную систему не предназначенную для десктопа и этот процесс был болезненным.
Постепенно я заметил, что изменения в ядре ведут к увеличению в скорости. Изменения не были огромными, но они влекли за собой слегка заметные изменения в таких вещах как поведение процессора под нагрузкой и тому подобное. Первый патч, который я вынес на публику не содержал моего собственного кода и был для ядра 2.4.18 . Было это где-то в феврале 2002. Я даже не знал, что представляет из себя код C, поскольку никогда не изучал какую-либо компьютерную науку. Из-за этого я застрял на месте до момента, когда ядро 2.6 было в разработке. Я следил за ее ходом и буду честен - я ужаснулся! Те разработчики ядра которых я уважал, работали над каким-то корпоративным хламом, который совершенно не нужен обычным пользователям"


"APC: И что ты сделал чтобы попытаться убедить разработчиков ядра сфокусировать свои усилия на нуждах простых пользователей?
Я решил разработать бенчмарк, чтобы попытаться получить численное значение, отображающее проблемы в производительности Линукса. Первый бенчмарк который я создал, был ужасно сложен в использовании, а получаемый результат было сложно интерпретировать. Но по крайней мере я попытался. Это помогло. Некоторые изменения были сделаны в результате его показаний, и они в основном были связаны с работой дисковой подсистемы. Но я вновь оказался перед проблемой производительности планировщика.
У меня уже был опыт создания патчей для предыдущего ядра и по иронии судьбы они были связаны именно с планировщиком. Хотя я никогда не учился программированию, код перед моими глазами постепенно начинал наполняться смыслом.
Я перестал указывать людям, о том, что я думаю: в каком именно участке кода имеется проблема. После жалоб, упреков и указаний, я решил, что должен сам начать копаться в коде и пытаться сделать все самостоятельно."




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


Ссылка на сайт Кона Коливаса.





Фабрис Беллард

" Локомотив из мира Open Source" - так можно описать этого человека . И пожалуй, это один из самых продуктивных программистов, которых я знаю.
Свободный эмулятор аппаратного обеспечения различных платформ с открытым исходным  кодом QEMU, С-компилятор Tiny C Compiler - его детища. Ещё он является ведущим разработчиком FFmpeg и многих других интересных проектов, которые вы можете посмотреть на его официальном сайте.
Недавно он удивил всех двумя своими разработками:


1) PC эмулятор на JavaScript
Вы сами можете опробовать его в своём браузере, если перейдёте сюда.
В эмуляторе загружается Linux и предоставляет вам стандартное окружение и некоторые фишки, типа уже упомянутого компилятора. Как говорится, enjoy!


2) 4G LTE станция на основе стандартного оборудования
Разработка которая позволяет создать свою 4G-станцию из обычного PC и дешевого сетевого оборудования. На сколько я знаю - единственная открытая разработка в этой области.


Спасибо за ваше внимание. Надеюсь вам понравился мой рассказ. Развивайтесь и находите занятия и людей,  которые вам по-душе.

1 комментарий:

  1. Just got back from Microsoft's TechReady event in Seattle. I had a great time and still getting used to the UK time zone. That said, the weather in Seattle was absolutely glorious. Very surprising as I was expecting another wet and cold week on the coast - but no - instead we had glorious sunshine. Truly Seattle at it's best.
    gta 5 apk

    ОтветитьУдалить