Архив за 15 февраля 2015

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

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

Моделирование нейронов

Кора человеческого мозга состоит из порядка ста миллиардов нейронов. Исторически сложилось так, что учёные, исследующие работу мозга, пытались охватить своей теорией всю эту колоссальную конструкцию. Строение мозга описано иерархически: кора состоит из долей, доли — из «гиперколонок», те — из «миниколонок»… Миниколонка состоит из примерно сотни отдельных нейронов.
Как работает мозг? - 1

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

«Я точно не знаю, что делает этот класс, но я уверен, что это важно!»

У паттернов проектирования — типовых решений, есть антиподы — типовые ошибки в проектировании. О паттернах проектирования написано достаточно книг, о антипаттернах — единицы. Вашему вниманию представлен вольный перевод статьи с сайта SourceMaking, описывающий один из таких антипаттернов (всего на сайте в разделе Software Development Antipatterns их представлено 14).
Антипаттерны проектирования: Poltergeists - 1
Наименование: Poltergeists (полтергейсты)
Другие наименования: Gypsy (цыган), Proliferation of Classes (рост количества классов), Big DoIt Controller Class
Масштаб: приложение
Рефакторинг: Ghostbusting (охота за привидениями)
Причина появления: непонимание концепций ООП, лень продумать архитектуру классов
Читать полностью »

Ваши программы – это ваше наследие. Решайте сами, как долго оно будет существовать.

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

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

Что можно получить, выдавая хороший код? Разве не имеет права на жизнь подход в обучении под названием «двигайся быстрее, ломая всё на своём пути?» Нет. Обучиться писать код – это навык, это доступно каждому. Обучиться писать хороший код – это искусство. Это требует усилий, времени и целеустремлённости.
Читать полностью »

Хочу поделиться опытом настройки локального прокси Торрент ТВ на виртуальном (обычном) debian сервере:

I. Регистрируемся на любом из проектов Торрент ТВ. Для одноименного сервиса потребуется VIP статус стоимостью 2 рубля в день.
II. Регистрируемся и покупаем VDS. Под наши задачи подойдет VDS c 256Мб оперативной памяти. Остальное не особо важно. Как пример — www.net.ru, infobox.ru, firstvds.ru (тут нынче акция. VDS начиная от 60 рублей в месяц. Называется VDS-разминка)
III. Приступаем к настройке. Далее инструкция будет актуальна для OS Debian 7.
Читать полностью »

Решение: Adobe AIR не находит подключенное iOS устройство из-под Windows 7 - 1Сегодня обратился ко мне в скайп разработчик, у которого не получалось установить из Flash Builder скомпилированное приложение прямо на iPhone. Если кто не в курсе — такая возможность есть. Достаточно иметь установленный iTunes.
Читать полностью »

Ассортимент планшетных компьютеров Dell для пользователей учебных учреждений пополнился моделями Venue 10 Pro и Venue 10. Новинки одинаково выглядят и унифицированы аппаратно, но работают под управлением разных ОС — Windows 8.1 и Android 5.0. Стоимость изделий тоже разнится: в США Dell Venue 10 Pro в базовом исполнении оценен в $330, а стоимость Venue 10 стартует с отметки $300. Каждую из этих новинок можно будет заказать с клавиатурой, что повлечет увеличение начальной цены на $50.

Компания Dell официально представила ноутбук Chromebook 11. В отличие от предшественника, для которого был доступен процессор Intel Core i3, новинка обходится процессором Intel Celeron N2840 семейства Bay Trail. Этот двухъядерный CPU, напомним, работает на частоте 2,15-2,58 ГГц.

Dell Chromebook 11

Читать полностью »

В январе стало известно, что Samsung не будет использовать SoC Qualcomm Snapdragon 810 в смартфоне Galaxy следующего поколения. Вместо этого в Samsung решили использовать однокристальную систему Exynos собственной разработки. Причиной решения были названы проблемы с перегревом Snapdragon 810, выявленные в ходе тестирования. Хотя сразу после этого другой южнокорейский производитель, Читать полностью »

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

Что покупают в интернете чаще всего?

Читать полностью »

Компания Sigma на этой неделе представила три принадлежности для съемки. Хотя производитель посвятил выходу каждой новинки отдельный пресс-релиз, информации немного, так что всю ее можно уместить в одну новость.

Телеконвертор FT-1201 предназначен для камеры Sigma dp3 QuattroЧитать полностью »