Песочница → Универсальная модель учебного компьютера. Часть первая из песочницы
Для более глубокого понимания функционирования компьютера и его архитектуры существуют учебные модели способные продемонстрировать принципы фон Неймана не вдаваясь в сложные теории, идеи и технические решения которые используются в современных компьютерах. Существует множество таких моделей и для более широкого понимания лучше изучать несколько моделей от более простых до достаточно сложных. Это было бы гораздо удобней если бы все необходимые модели соединила в себе одна программа. Я предлагаю ознакомится с принципом построения универсальной модели с помощью которой можно реализовать разные учебные компьютеры.
Блог компании IBM → Приложение силы
Различия между процессорами поколений Power6 и Power7Предыдущий пост, касающийся процессоров Power собрал немало комментариев заинтересованной публики, поэтому мы решили написать небольшое продолжение и рассказать, а если быть более точным — то показать, как изменилась архитектура процессора последнего поколения, а так же привести некоторые выкладки тестов производительности.
К слову: многими было подмечено, что несмотря на широкие возможности RISC-процессоров в реальном мире их применения сводится к нескольким, в большей степени специализированным, задачам. Спешу разочаровать: по последним чипы на базе Power используются еще в одном, широко популярном, устройстве — консоли Nintendo Wii. С 2006 года, когда Nintendo начала выпускать игровые приставки последнего поколения, IBM поставила более 90 млн. процессоров, и в будущем эта цифра будет только расти, так как Wii U, появление которой на полках магазинов ожидается в 2012 году, так же работает на центральном процессоре производства всем известной компании.
Веб-разработка → Система настроек и смена версий программ: эволюция жизнеспособных форм
Константно-переменный дуализм.
Настройки у программ существуют давно, от самых древних ассемблерных программ, имеющих в своём коде константы в качестве настроек. Обновление таких программ происходило с полной заменой кода, поэтому изменение системы настроек не влекло отрицательных последствий. В худшем случае, приходилось переучиваться пользованию интерфейсом. Положение стало меняться при преемственности типов данных и настроек программ. В своё время Microsoft уделяла огромное внимание совместимости программ и данных в операционных системах, в чём была их сильная сторона. Да и сейчас поддержка режима XP Mode — это продолжение политики совместимости. Применительно к веб, пользователям часто встречаются ситуации, когда данные и настройки у них остаются от прежних версий (в куках, в сторонних базах данных), а версия программы — на сервере или скрипт на клиенте — изменяется. Возникает проблема совместимости версий программ и данных и необходимость выработки некоторой политики поддержки совместимости. Новая версия может не устроить по совместимости с браузерами (из-за багов или неполной поддержки), тогда откат к прежней на время исправления багов не должен сопровождаться потерей или искажением настроек, при том, что количество их может меняться с изменением версии.
Требуется подход не просто к настройкам и их организации, а к проблемам смены версий и преемственности настроек. Программы в вебе развиваются мелкими шагами, смена версий происходит часто. Такой же подход к работе с настройками относится и к другим программам, не связанным с вебом, но имеющим частую смену версий. Аналогичные рассуждения можно отнести к форматам всех данных в программах, не только к форматам хранения настроек.
Настройки у программ существуют давно, от самых древних ассемблерных программ, имеющих в своём коде константы в качестве настроек. Обновление таких программ происходило с полной заменой кода, поэтому изменение системы настроек не влекло отрицательных последствий. В худшем случае, приходилось переучиваться пользованию интерфейсом. Положение стало меняться при преемственности типов данных и настроек программ. В своё время Microsoft уделяла огромное внимание совместимости программ и данных в операционных системах, в чём была их сильная сторона. Да и сейчас поддержка режима XP Mode — это продолжение политики совместимости. Применительно к веб, пользователям часто встречаются ситуации, когда данные и настройки у них остаются от прежних версий (в куках, в сторонних базах данных), а версия программы — на сервере или скрипт на клиенте — изменяется. Возникает проблема совместимости версий программ и данных и необходимость выработки некоторой политики поддержки совместимости. Новая версия может не устроить по совместимости с браузерами (из-за багов или неполной поддержки), тогда откат к прежней на время исправления багов не должен сопровождаться потерей или искажением настроек, при том, что количество их может меняться с изменением версии.Требуется подход не просто к настройкам и их организации, а к проблемам смены версий и преемственности настроек. Программы в вебе развиваются мелкими шагами, смена версий происходит часто. Такой же подход к работе с настройками относится и к другим программам, не связанным с вебом, но имеющим частую смену версий. Аналогичные рассуждения можно отнести к форматам всех данных в программах, не только к форматам хранения настроек.
DIY или Сделай Сам → Ещё одна архитектура операционной системы
Решил взять небольшую паузу в ежедневном хобби-кодировании, и поделиться с вами описанием того, что я, собственно, делаю. Итак, я пытаюсь разработать и реализовать виртуальную машину для несуществующей операционной системы, которую я, быть может, тоже когда-нибудь начну воплощать в жизнь. Не буду спорить с пеною у рта, доказывая, зачем нужна ещё одна ОС, отвечу кратко: главным образом затем, что мне это интересно.


Google Wave → От Google Wave к Node.js
В мае 2009-го был анонсирован Google Wave (GW), через несколько месяцев мы получили инвайты и начали его изучать. В GW, как и в GoogleDocs, есть возможность совместного редактирования текста, использующая технологию OT. Есть и бонусы: можно сворачивать разделы документа в структуру, добавлять гаджеты и роботов. Мы обсуждали в GW наши текущие проекты, в целом инструмент нравился, а обилие неудобств рождало множество идей по расширению функционала и улучшению интерфейса. Особенно остро ощущалась нахватка шортката для сворачивания всех разделов документа. Также часто обсуждалась идея ставить каждую задачу в контексте, к которому она относится.


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


Программинг микроконтроллеров → Какую архитектуру МК вы используете/планируете использовать в работе/обучении/для хобби?
Блог компании ДубльГИС (2ГИС) → Слоистая архитектура на основе фреймворка yii

Представим себе компанию, которая реализует целый ряд собственных продуктов — как для внешних пользователей, так и для внутренних. Скорее всего, каждый продукт не сможет существовать по отдельности, как сферический конь в вакууме, а в какой-то степени будет интегрирован с другими. В итоге все они вместе образуют некий слой взаимосвязанных между собой и при этом самостоятельно развивающихся организмов. И скорее всего, их развитие осуществляется совершенно разными командами.
Хорошие примеры такой среды — это Яндекс (поиск, Директ, карты, почта, вертикальные и внутренние сервисы) или Google. Понятно, что у перечисленных гигантов технологии в каждом продукте свои, но если взять компанию поменьше и работающую в более узкой предметной области, то можно предположить, что веб-продукты будут выполнены на одних технологиях (языках программирования, фреймворках и.т.д).
Именно об опыте в организации архитектуры всей линейки продуктов у такой компании я и хочу рассказать.
Проектирование и рефакторинг → Эпидемия в данных
Хочу рассказать одну историю о том, как однажды никем не предвиденная проблема нанесла финансовый ущерб бизнесу одной крупной корпорации. Я расскажу о причинах возникновения этой проблемы, о том, как мы ее побороли и о том, как решить ее правильно. Надеюсь эта статья поможет проектировщикам избежать подобных ситуаций в будущем.
Блог компании Intel → Видеоэкскурсия в ЦОД Intel
Сегодня мы хотим поговорить о современных серверных парках и центрах обработки данных компании Intel, которая, прежде чем выработать конкретную стратегию в данной области, прошла долгий путь. Исторически было так, что в тех местах, где компания покупала или строила здания, размещались и дата-центры для нужд находящихся там подразделений разработчиков. Опыт показал, что это не очень эффективно. При таком подходе количество дата-центров Intel в мире превысило 150 и, соответственно, они стали очень дорогой частью ресурсов корпорации. Поэтому был принят ряд решений, направленных на уменьшение общей стоимости владения дата-центрами. Одним из основных направлений стала их консолидация с целью уменьшения количества ЦОД'ов и серверных комнат, а также повышение утилизации вычислительных самих ресурсов. Очевидно, что несколько маленьких серверных комнат с загрузкой порядка 40% в обслуживании обходятся дороже, чем одна большая комната с загрузкой 60-70%.